|
|
| version 1.13, 2005/02/07 14:46:08 | version 1.14, 2005/04/01 15:35:49 |
|---|---|
| Line 678 long STRCALL milstr_solveHEX(const OEMCH | Line 678 long STRCALL milstr_solveHEX(const OEMCH |
| long STRCALL milstr_solveINT(const OEMCHAR *str) { | long STRCALL milstr_solveINT(const OEMCHAR *str) { |
| long ret; | unsigned long ret; |
| int c; | BOOL minus; |
| int s = 1; | int c; |
| ret = 0; | ret = 0; |
| minus = FALSE; | |
| c = *str; | c = *str; |
| if (c == '+') { | if (c == '+') { |
| str++; | str++; |
| } | } |
| else if (c == '-') { | else if (c == '-') { |
| str++; | str++; |
| s = -1; | minus = TRUE; |
| } | } |
| while(1) { | while(1) { |
| c = *str++; | c = *str++; |
| c -= '0'; | c -= '0'; |
| if ((unsigned)c < 10) { | if ((c >= 0) && (c < 10)) { |
| ret *= 10; | ret *= 10; |
| ret += c; | ret += c; |
| } | } |
| Line 702 long STRCALL milstr_solveINT(const OEMCH | Line 703 long STRCALL milstr_solveINT(const OEMCH |
| break; | break; |
| } | } |
| } | } |
| return(ret * s); | if (!minus) { |
| return((long)ret); | |
| } | |
| else { | |
| return((long)(0 - ret)); | |
| } | |
| } | } |
| OEMCHAR * STRCALL milstr_list(const OEMCHAR *lststr, UINT pos) { | OEMCHAR * STRCALL milstr_list(const OEMCHAR *lststr, UINT pos) { |