# HG changeset patch # User Fionntina Carville # Date 1288019568 -3600 # Node ID c9f2a88965982fbbcebf224c7eab8f25496c3a12 # Parent 254b651f304e83061e93fe7e397c104251b5635d# Parent b670675990af68ab073c1f352d24c4a406e5b7cd Merge Bug 2603 and Bug 3123 plus move exports to rom/bld.inf diff -r 254b651f304e -r c9f2a8896598 genericopenlibs/cppstdlib/eabi/libstdcpp_rvct2_2u.def --- a/genericopenlibs/cppstdlib/eabi/libstdcpp_rvct2_2u.def Wed Oct 13 16:27:53 2010 +0300 +++ b/genericopenlibs/cppstdlib/eabi/libstdcpp_rvct2_2u.def Mon Oct 25 16:12:48 2010 +0100 @@ -204,7 +204,7 @@ _ZNSt10istrstreamD0Ev @ 203 NONAME _ZNSt10istrstreamD1Ev @ 204 NONAME _ZNSt10istrstreamD2Ev @ 205 NONAME - _ZNSt10istrstreamD9Ev @ 206 NONAME + _ZNSt10istrstreamD9Ev @ 206 NONAME ABSENT _ZNSt10moneypunctIcLb0EE16GetFacetLocaleIdEv @ 207 NONAME _ZNSt10moneypunctIcLb0EEC1Ej @ 208 NONAME _ZNSt10moneypunctIcLb0EEC2Ej @ 209 NONAME @@ -238,7 +238,7 @@ _ZNSt10ostrstreamD0Ev @ 237 NONAME _ZNSt10ostrstreamD1Ev @ 238 NONAME _ZNSt10ostrstreamD2Ev @ 239 NONAME - _ZNSt10ostrstreamD9Ev @ 240 NONAME + _ZNSt10ostrstreamD9Ev @ 240 NONAME ABSENT _ZNSt11logic_errorD0Ev @ 241 NONAME _ZNSt11logic_errorD1Ev @ 242 NONAME _ZNSt11logic_errorD2Ev @ 243 NONAME @@ -510,7 +510,7 @@ _ZNSt9strstreamD0Ev @ 509 NONAME _ZNSt9strstreamD1Ev @ 510 NONAME _ZNSt9strstreamD2Ev @ 511 NONAME - _ZNSt9strstreamD9Ev @ 512 NONAME + _ZNSt9strstreamD9Ev @ 512 NONAME ABSENT _ZSt16_get_Locale_implPSt12_Locale_impl @ 513 NONAME _ZSt23__stl_throw_range_errorPKc @ 514 NONAME _ZSt24__stl_throw_length_errorPKc @ 515 NONAME diff -r 254b651f304e -r c9f2a8896598 genericopenlibs/openenvcore/backend/src/StdioRedir/Server/inidata.cpp --- a/genericopenlibs/openenvcore/backend/src/StdioRedir/Server/inidata.cpp Wed Oct 13 16:27:53 2010 +0300 +++ b/genericopenlibs/openenvcore/backend/src/StdioRedir/Server/inidata.cpp Mon Oct 25 16:12:48 2010 +0100 @@ -156,163 +156,171 @@ // TBool CIniData::FindVar(const TDesC &aSectName,const TDesC &aKeyName,TPtrC &aResult) - /* Find a text value from given aKeyName and aSecName in the ini data file - - @param aSectName Section containing key - @param aKeyName Key being searched for in aSectName - @param aResult On return, contains the text result - - @return ETrue if found, otherwise EFalse - - */ - { - - __ASSERT_DEBUG(aSectName.Length()<=KTokenSize,Panic(ESectionNameTooBig)); - __ASSERT_DEBUG(aKeyName.Length()<=KTokenSize,Panic(EKeyNameTooBig)); - - TInt posStartOfSection(0); - TInt posEndOfSection(iPtr.Length()); // Default to the entire length of the ini data - TPtrC SearchBuf; + { + TInt posStartOfSection(0); + TInt posEndOfSection(iPtr.Length()); // Default to the entire length of the ini data + TPtrC SearchBuf; - // If we have a section, set pos to section start - TInt posI(0); // Position in internal data Buffer - if( aSectName.Length() > 0 ) - { - TBool FoundSection(false); - while ( ! FoundSection ) - { - // Move search buffer to next area of interest - SearchBuf.Set(iPtr.Mid(posI)); + // If we have a section, set pos to section start + TInt posI(0); // Position in internal data Buffer + if( aSectName.Length() > 0 ) + { + TBool FoundSection(false); + while ( ! FoundSection ) + { + // Move search buffer to next area of interest + SearchBuf.Set(iPtr.Mid(posI)); - // Make up token "[SECTIONNAME]", to search for - TPtr sectionToken=iToken->Des(); - _LIT(sectionTokenFmtString,"[%S]"); - sectionToken.Format(sectionTokenFmtString,&aSectName); + // Make up token "[SECTIONNAME]", to search for + TPtr sectionToken=iToken->Des(); + _LIT(sectionTokenFmtString,"[%S]"); + sectionToken.Format(sectionTokenFmtString,&aSectName); - // Search for next occurrence of aSectName - TInt posSB = SearchBuf.Find(sectionToken); + // Search for next occurrence of aSectName + TInt posSB = SearchBuf.Find(sectionToken); - if (posSB==KErrNotFound) - return(EFalse); + if (posSB==KErrNotFound) + return(EFalse); - // Check this is at beginning of line (ie. non-commented) - // ie. Check preceding char was LF - if(posSB>0) - { - // Create a Buffer, starting one char before found subBuf - TPtrC CharBefore(SearchBuf.Right(SearchBuf.Length()-posSB+1)); - // Check first char is end of prev - if(CharBefore[0] == '\n') - { - FoundSection = ETrue; // found - posI = posI + posSB; - } - else - { - posI = posI + posSB + 1; // try again - } - } - else - { - FoundSection = ETrue; - } + // Check this is at beginning of line (ie. non-commented) + // ie. Check preceding char was LF + if(posSB>0) + { + // Create a Buffer, starting one char before found subBuf + TPtrC CharBefore(SearchBuf.Right(SearchBuf.Length()-posSB+1)); + // Check first char is end of prev + if(CharBefore[0] == '\n') + { + FoundSection = ETrue; // found + posI = posI + posSB; + } + else + { + posI = posI + posSB + 1; // try again + } + } + else + { + FoundSection = ETrue; + } + + } // while ( ! FoundSection ) + + // Set start of section, after section name, (incl '[' and ']') + posStartOfSection = posI + aSectName.Length() + 2; - } // while ( ! FoundSection ) - - // Set start of section, after section name, (incl '[' and ']') - posStartOfSection = posI + aSectName.Length() + 2; + // Set end of section, by finding begin of next section or end + SearchBuf.Set(iPtr.Mid(posI)); + _LIT(nextSectionBuf,"\n["); + TInt posSB = SearchBuf.Find(nextSectionBuf); + if(posSB != KErrNotFound) + { + posEndOfSection = posI + posSB; + } + else + { + posEndOfSection = iPtr.Length(); + } - // Set end of section, by finding begin of next section or end - SearchBuf.Set(iPtr.Mid(posI)); - _LIT(nextSectionBuf,"\n["); - TInt posSB = SearchBuf.Find(nextSectionBuf); - if(posSB != KErrNotFound) - { - posEndOfSection = posI + posSB; - } - else - { - posEndOfSection = iPtr.Length(); - } + } // if( aSectName.Length() > 0 ) + + // Look for key in ini file data Buffer + posI = posStartOfSection; + TBool FoundKey(false); + while ( ! FoundKey ) + { + // Search for next occurrence of aKeyName + SearchBuf.Set(iPtr.Mid(posI,posEndOfSection-posI)); + TInt posSB = SearchBuf.Find(aKeyName); + + // If not found, return + if (posSB==KErrNotFound) + return(EFalse); - } // if( aSectName.Length() > 0 ) + // Check this is at beginning of line (ie. non-commented) + // ie. Check preceding char was CR or LF + if(posSB>0) + { + // Create a Buffer, starting one char before found subBuf + TPtrC CharBefore(SearchBuf.Right(SearchBuf.Length()-posSB+1)); + // Check if the first char is end of prev and also check + // if the token found is not a substring of another string + TBool beginningOK = ((CharBefore[0] == '\n') || (CharBefore[0] == ' ') || (CharBefore[0] == '\t')); + TBool endingOK = ((CharBefore[aKeyName.Length()+1] == '=') || (CharBefore[aKeyName.Length()+1] == ' ') || (CharBefore[aKeyName.Length()+1] == '\t')); + if (beginningOK && endingOK) + { + FoundKey = ETrue; + posI = posI + posSB; + } + else + { + posI = posI + posSB + 1; + } + } + else + { + FoundKey = ETrue; + } + } // while ( ! FoundKey ) - // Look for key in ini file data Buffer - posI = posStartOfSection; - TBool FoundKey(false); - while ( ! FoundKey ) - { - // Search for next occurrence of aKeyName - SearchBuf.Set(iPtr.Mid(posI,posEndOfSection-posI)); - TInt posSB = SearchBuf.Find(aKeyName); - - // If not found, return - if (posSB==KErrNotFound) - return(EFalse); + // Set pos, to just after '=' sign + SearchBuf.Set(iPtr.Mid(posI)); + TInt posSB = SearchBuf.Locate('='); + if(posSB==KErrNotFound) // Illegal format, should flag this... + return(EFalse); - // Check this is at beginning of line (ie. non-commented) - // ie. Check preceding char was CR or LF - if(posSB>0) - { - // Create a Buffer, starting one char before found subBuf - TPtrC CharBefore(SearchBuf.Right(SearchBuf.Length()-posSB+1)); - // Check if the first char is end of prev and also check - // if the token found is not a substring of another string - TBool beginningOK = ((CharBefore[0] == '\n') || (CharBefore[0] == ' ') || (CharBefore[0] == '\t')); - TBool endingOK = ((CharBefore[aKeyName.Length()+1] == '=') || (CharBefore[aKeyName.Length()+1] == ' ') || -(CharBefore[aKeyName.Length()+1] == '\t')); - if (beginningOK && endingOK) - { - FoundKey = ETrue; - posI = posI + posSB; - } - else - { - posI = posI + posSB + 1; - } - } - else - { - FoundKey = ETrue; - } - } // while ( ! FoundKey ) + // Identify start and end of data (EOL or EOF) + posI = posI + posSB + 1; // 1 char after '=' + TInt posValStart = posI; + TInt posValEnd; + SearchBuf.Set(iPtr.Mid(posI)); + posSB = SearchBuf.Locate('\n'); + if(posSB!=KErrNotFound) + { + // ini file uses LF for EOL + posValEnd = posI + posSB; + } + else + { + posValEnd = iPtr.Length(); + } -// Set pos, to just after '=' sign -SearchBuf.Set(iPtr.Mid(posI)); -TInt posSB = SearchBuf.Locate('='); -if(posSB==KErrNotFound) // Illegal format, should flag this... - return(EFalse); + // Check we are still in the section requested + if( aSectName.Length() > 0 ) + { + if( posValEnd > posEndOfSection ) + { + return(EFalse); + } + } + // Parse Buffer from posn of key + // Start one space after '=' + TLex lex(iPtr.Mid(posValStart, posValEnd-posValStart)); + lex.SkipSpaceAndMark(); // Should be at the start of the data + aResult.Set(lex.MarkedToken().Ptr(),posValEnd-posValStart - lex.Offset() ); -// Identify start and end of data (EOL or EOF) -posI = posI + posSB + 1; // 1 char after '=' -TInt posValStart = posI; -TInt posValEnd; -SearchBuf.Set(iPtr.Mid(posI)); -posSB = SearchBuf.Locate('\r'); -if(posSB!=KErrNotFound) - { - posValEnd = posI + posSB; - } -else - { - posValEnd = iPtr.Length(); - } + TInt filterOffset; + + // Mark the offset value to the end of the value string + filterOffset = aResult.Length() - 1; -// Check we are still in the section requested -if( aSectName.Length() > 0 ) - { - if( posValEnd > posEndOfSection ) - { - return(EFalse); - } - } -// Parse Buffer from posn of key -// Start one space after '=' -TLex lex(iPtr.Mid(posValStart, posValEnd-posValStart)); -lex.SkipSpaceAndMark(); // Should be at the start of the data -aResult.Set(lex.MarkedToken().Ptr(),posValEnd-posValStart - lex.Offset() ); -return(ETrue); -} + // Loop from end of the value string marked by the offset fetched by above process + // And check to see if there is spaces, tabs or carriage returns + while(filterOffset >= 0 && + (aResult[filterOffset] == '\t' || + aResult[filterOffset] == ' ' || + aResult[filterOffset] == '\r')) + { + // If found, reduce the offset by 1 for every space and tab during the while loop + filterOffset--; + } + + // The final offset value indicating end of actual value + // within the ini data is set to the result string reference passed in + aResult.Set(aResult.Mid(0,filterOffset + 1)); + + return(ETrue); + } //////////////////////////////////////////////////////////////////////////////// TBool CIniData::FindVar(const TDesC &aSection,const TDesC &aKeyName,TInt &aResult) diff -r 254b651f304e -r c9f2a8896598 group/bld.inf --- a/group/bld.inf Wed Oct 13 16:27:53 2010 +0300 +++ b/group/bld.inf Mon Oct 25 16:12:48 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -16,6 +16,8 @@ */ +#include "../rom/bld.inf" + #include "../ossrv_pub/group/bld.inf" #include "../ossrv_plat/libutils/group/bld.inf" @@ -28,45 +30,6 @@ #include "../utilitylibraries/libutils/group/bld.inf" - -PRJ_EXPORTS -//Exporting glib iby file -../rom/glib.iby CORE_OS_LAYER_IBY_EXPORT_PATH(glib.iby) - -//Exporting ssl iby file -../rom/ssl.iby CORE_OS_LAYER_IBY_EXPORT_PATH(ssl.iby) - -//Exporting stdcpp iby file -../rom/stdcpp4.iby CORE_OS_LAYER_IBY_EXPORT_PATH(stdcpp4.iby) - -//Exporting stdlibs iby file -../rom/stdlibs.iby CORE_OS_LAYER_IBY_EXPORT_PATH(stdlibs.iby) - - - - - -//exporting openc_stdlibs stub sis -../stdlibs/install/openc_stdlibs_stub.sis /epoc32/data/z/system/install/openc_stdlibs_stub.sis -//exporting openc_ssl stub sis -../ssl/install/openc_ssl_stub.sis /epoc32/data/z/system/install/openc_ssl_stub.sis -//exporting openc_libzcore_stub.sis -../ssl/install/openc_libzcore_stub.sis /epoc32/data/z/system/install/openc_libzcore_stub.sis -//exporting openc_glib stub sis -../glib/install/openc_glib_stub.sis /epoc32/data/z/system/install/openc_glib_stub.sis -//exporting stdcpp stub sis -../stdcpp/install/stdcpp_stub.SIS /epoc32/data/z/system/install/stdcpp_stub.sis - -//exporting rpipe stub sis -../stdlibs/install/rpipe_stub.SIS /epoc32/data/z/system/install/rpipe_stub.sis - -// exporting openc_liblogger stub sis -../stdlibs/install/openc_liblogger_stub.sis /epoc32/data/z/system/install/openc_liblogger_stub.sis - -// exporting openc_signalserver_stub sis -../stdlibs/install/openc_signalserver_stub.sis /epoc32/data/z/system/install/openc_signalserver_stub.sis - - // End of File diff -r 254b651f304e -r c9f2a8896598 package_definition.xml --- a/package_definition.xml Wed Oct 13 16:27:53 2010 +0300 +++ b/package_definition.xml Mon Oct 25 16:12:48 2010 +0100 @@ -158,7 +158,7 @@ - + diff -r 254b651f304e -r c9f2a8896598 rom/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rom/bld.inf Mon Oct 25 16:12:48 2010 +0100 @@ -0,0 +1,57 @@ +/* +* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +PRJ_EXPORTS +//Exporting glib iby file +../rom/glib.iby CORE_OS_LAYER_IBY_EXPORT_PATH(glib.iby) + +//Exporting ssl iby file +../rom/ssl.iby CORE_OS_LAYER_IBY_EXPORT_PATH(ssl.iby) + +//Exporting stdcpp iby file +../rom/stdcpp4.iby CORE_OS_LAYER_IBY_EXPORT_PATH(stdcpp4.iby) + +//Exporting stdlibs iby file +../rom/stdlibs.iby CORE_OS_LAYER_IBY_EXPORT_PATH(stdlibs.iby) + + + + + +//exporting openc_stdlibs stub sis +../stdlibs/install/openc_stdlibs_stub.sis /epoc32/data/z/system/install/openc_stdlibs_stub.sis +//exporting openc_ssl stub sis +../ssl/install/openc_ssl_stub.sis /epoc32/data/z/system/install/openc_ssl_stub.sis +//exporting openc_libzcore_stub.sis +../ssl/install/openc_libzcore_stub.sis /epoc32/data/z/system/install/openc_libzcore_stub.sis +//exporting openc_glib stub sis +../glib/install/openc_glib_stub.sis /epoc32/data/z/system/install/openc_glib_stub.sis +//exporting stdcpp stub sis +../stdcpp/install/stdcpp_stub.SIS /epoc32/data/z/system/install/stdcpp_stub.sis + +//exporting rpipe stub sis +../stdlibs/install/rpipe_stub.SIS /epoc32/data/z/system/install/rpipe_stub.sis + +// exporting openc_liblogger stub sis +../stdlibs/install/openc_liblogger_stub.sis /epoc32/data/z/system/install/openc_liblogger_stub.sis + +// exporting openc_signalserver_stub sis +../stdlibs/install/openc_signalserver_stub.sis /epoc32/data/z/system/install/openc_signalserver_stub.sis + +// End of File +