Ignore:
Timestamp:
25 Jun 2013, 22:11:57 (11 years ago)
Author:
tech
Message:

Fixed several bugs and mismatches.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-DEV-0.3-dev0/source/Lib/TAppCommon/program_options_lite.h

    r491 r495  
    375375      {
    376376        std::string cNameBuffer;
    377         std::string cDescriptionBuffer;
    378 
    379         cNameBuffer       .resize( name.size() + 10 );
    380         cDescriptionBuffer.resize( desc.size() + 10 );
     377        std::string cDescBuffer;
     378
     379        cNameBuffer.resize( name.size() + 10 );
     380        cDescBuffer.resize( desc.size() + 10 );
    381381
    382382        storage.resize(uiMaxNum);
    383383        for ( unsigned int uiK = 0; uiK < uiMaxNum; uiK++ )
    384384        {
     385          Bool duplicate = (uiK != 0);
    385386          // isn't there are sprintf function for string??
    386           sprintf((char*) cNameBuffer.c_str()       ,name.c_str(),uiK,uiK);
    387           sprintf((char*) cDescriptionBuffer.c_str(),desc.c_str(),uiK,uiK);
    388 
    389           parent.addOption(new Option<T>( cNameBuffer, (storage[uiK]), default_val, cDescriptionBuffer, uiK != 0 ));
     387          sprintf((char*) cNameBuffer.c_str(),name.c_str(),uiK,uiK);
     388
     389          if ( !duplicate )
     390          {         
     391            sprintf((char*) cDescBuffer.c_str(),desc.c_str(),uiK,uiK);
     392          }
     393
     394          cNameBuffer.resize( std::strlen(cNameBuffer.c_str()) ); 
     395          cDescBuffer.resize( std::strlen(cDescBuffer.c_str()) );
     396         
     397
     398          parent.addOption(new Option<T>( cNameBuffer, (storage[uiK]), default_val, cDescBuffer, duplicate ));
    390399        }
    391400
Note: See TracChangeset for help on using the changeset viewer.