summaryrefslogtreecommitdiff
path: root/src/paramproc.cpp
diff options
context:
space:
mode:
authorMike Buland <eichlan@xagasoft.com>2006-06-29 07:02:28 +0000
committerMike Buland <eichlan@xagasoft.com>2006-06-29 07:02:28 +0000
commitd121afeeab6c7a52ae0964f5dc66cc6a3d8cf3ca (patch)
treeaaccb8d4032f4683e6a9df620d47a2872cf7eee7 /src/paramproc.cpp
parent937d960d2677c87ac6d68dc5445be115ac001d3e (diff)
downloadlibbu++-d121afeeab6c7a52ae0964f5dc66cc6a3d8cf3ca.tar.gz
libbu++-d121afeeab6c7a52ae0964f5dc66cc6a3d8cf3ca.tar.bz2
libbu++-d121afeeab6c7a52ae0964f5dc66cc6a3d8cf3ca.tar.xz
libbu++-d121afeeab6c7a52ae0964f5dc66cc6a3d8cf3ca.zip
Fixed a bug that would cause certain peramiters that were after parameters that
had a variable but no proc set would be processed twice.
Diffstat (limited to 'src/paramproc.cpp')
-rw-r--r--src/paramproc.cpp25
1 files changed, 13 insertions, 12 deletions
diff --git a/src/paramproc.cpp b/src/paramproc.cpp
index 85274e2..8317823 100644
--- a/src/paramproc.cpp
+++ b/src/paramproc.cpp
@@ -269,10 +269,12 @@ void ParamProc::process( int argc, char *argv[] )
269 argc-arg-1, argv+arg+1 ); 269 argc-arg-1, argv+arg+1 );
270 270
271 if( ret > add ) 271 if( ret > add )
272 arg += ret; 272 add = 0;
273 else 273 else
274 arg += add; 274 add -= ret;
275 arg += ret;
275 } 276 }
277 arg += add;
276 } 278 }
277 continue; 279 continue;
278 } 280 }
@@ -316,13 +318,12 @@ void ParamProc::process( int argc, char *argv[] )
316 delete tmp; 318 delete tmp;
317 break; 319 break;
318 } 320 }
319 if( bUsed )
320 {
321 delete tmp;
322 break;
323 }
324 delete tmp; 321 delete tmp;
325 } 322 }
323 if( bUsed )
324 {
325 break;
326 }
326 } 327 }
327 else 328 else
328 { 329 {
@@ -349,11 +350,11 @@ void ParamProc::process( int argc, char *argv[] )
349 arg += ret; 350 arg += ret;
350 break; 351 break;
351 } 352 }
352 if( bUsed ) 353 }
353 { 354 if( bUsed )
354 arg++; 355 {
355 break; 356 arg++;
356 } 357 break;
357 } 358 }
358 } 359 }
359 } 360 }