修订版 | 97b0ea57ec5fc2f75adf252ace5bd8024ebabb0f (tree) |
---|---|
时间 | 2015-03-09 01:24:32 |
作者 | Face |
Commiter | Face |
xves: fixed bugs in dictionary handling
@@ -364,7 +364,7 @@ | ||
364 | 364 | main_dat.arm[c].id[length(id)]:=#0; |
365 | 365 | for i:=0 to main_cfg.armcnt-1 do begin |
366 | 366 | for j:=0 to 254 do begin |
367 | - if (main_dat.arm[c].id[j]=#0) and (main_dat.arm[i].id[j]=#0) then exit; | |
367 | + if (main_dat.arm[c].id[j]=#0) and (main_dat.arm[i].id[j]=#0) then halt(-1); | |
368 | 368 | if main_dat.arm[i].id[j]<>main_dat.arm[c].id[j] then break; |
369 | 369 | end; |
370 | 370 | end; |
@@ -462,12 +462,11 @@ | ||
462 | 462 | for i:=0 to main_cfg.armcnt-1 do begin |
463 | 463 | for j:=0 to 254 do begin |
464 | 464 | if j>=length(s) then begin |
465 | - if main_dat.arm[i].id[j]=#0 then result:=i; | |
465 | + if main_dat.arm[i].id[j]=#0 then exit(i); | |
466 | 466 | break; |
467 | 467 | end; |
468 | 468 | if s[j+1]<>main_dat.arm[i].id[j] then break; |
469 | 469 | end; |
470 | - if result>=0 then break; | |
471 | 470 | end; |
472 | 471 | end; |
473 | 472 | //############################################################################// |
@@ -477,10 +476,10 @@ | ||
477 | 476 | begin |
478 | 477 | if copy(par,1,4)='tip_' then begin |
479 | 478 | s:=copy(par,5,length(par)); |
480 | - i:=getfsymp(s,'_'); | |
481 | - if i<>0 then begin | |
482 | - i:=vali(copy(s,i+1,1)); | |
483 | - s:=copy(par,5,i-1); | |
479 | + a:=getfsymp(s,'_'); | |
480 | + if a<>0 then begin | |
481 | + i:=vali(copy(s,a+1,1)); | |
482 | + s:=copy(par,5,a-1); | |
484 | 483 | end else begin |
485 | 484 | i:=vali(s); |
486 | 485 | s:=''; |