Author: aschnell Date: Wed Aug 20 11:20:06 2008 New Revision: 50226 URL: http://svn.opensuse.org/viewcvs/yast?rev=50226&view=rev Log: - refactored parsing of sysconfig file Modified: trunk/storage/libstorage/src/Storage.cc Modified: trunk/storage/libstorage/src/Storage.cc URL: http://svn.opensuse.org/viewcvs/yast/trunk/storage/libstorage/src/Storage.cc?rev=50226&r1=50225&r2=50226&view=diff ============================================================================== --- trunk/storage/libstorage/src/Storage.cc (original) +++ trunk/storage/libstorage/src/Storage.cc Wed Aug 20 11:20:06 2008 @@ -159,30 +159,25 @@ rmdir( tempdir.c_str() ); } if( access( "/etc/sysconfig/storage", R_OK )==0 ) - { + { AsciiFile sc( "/etc/sysconfig/storage" ); - Regex r( '^' + Regex::ws + "DEVICE_NAMES" + Regex::ws + '=' ); + Regex r('^' + Regex::ws + "DEVICE_NAMES" + '=' + "(['\"]?)([^'\"]*)\\1" + Regex::ws + '$'); int line = sc.find( 0, r ); if( line >= 0 ) - { - list<string> ls = splitString( sc[line], " \t=\"" ); - y2mil( "ls:" << ls ); - if( ls.size()==2 ) - { - string val = boost::to_lower_copy(ls.back(), locale::classic()); - if( val == "id" ) - setDefaultMountBy( MOUNTBY_ID ); - else if( val == "path" ) - setDefaultMountBy( MOUNTBY_PATH ); - else if( val == "device" ) - setDefaultMountBy( MOUNTBY_DEVICE ); - else if( val == "uuid" ) - setDefaultMountBy( MOUNTBY_UUID ); - else if( val == "label" ) - setDefaultMountBy( MOUNTBY_LABEL ); - } - } + { + string val = boost::to_lower_copy(r.cap(2), locale::classic()); + if( val == "id" ) + setDefaultMountBy( MOUNTBY_ID ); + else if( val == "path" ) + setDefaultMountBy( MOUNTBY_PATH ); + else if( val == "device" ) + setDefaultMountBy( MOUNTBY_DEVICE ); + else if( val == "uuid" ) + setDefaultMountBy( MOUNTBY_UUID ); + else if( val == "label" ) + setDefaultMountBy( MOUNTBY_LABEL ); } + } if( autodetect ) { detectArch(); -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org