|
|
| version 1.8, 2004/06/20 01:03:04 | version 1.9, 2004/06/20 02:57:47 |
|---|---|
| Line 1 | Line 1 |
| #include "compiler.h" | #include "compiler.h" |
| // ---- ANK / UCS2 / UCS4 | |
| // ---- ANK | |
| #if defined(SUPPORT_ANK) | #if defined(SUPPORT_ANK) |
| int milank_charsize(const char *str) { | int milank_charsize(const OEMCHAR *str) { |
| return((str[0] != '\0')?1:0); | return((str[0] != '\0')?1:0); |
| } | } |
| int milank_cmp(const char *str, const char *cmp) { | int milank_cmp(const OEMCHAR *str, const OEMCHAR *cmp) { |
| int s; | int s; |
| int c; | int c; |
| do { | do { |
| s = (BYTE)*str++; | s = *str++; |
| if (((s - 'a') & 0xff) < 26) { | if ((s >= 'a') && (s <= 'z')) { |
| s -= 0x20; | s -= 0x20; |
| } | } |
| c = (BYTE)*cmp++; | c = *cmp++; |
| if (((c - 'a') & 0xff) < 26) { | if ((c >= 'a') && (c <= 'z')) { |
| c -= 0x20; | c -= 0x20; |
| } | } |
| if (s != c) { | if (s != c) { |
| Line 31 int milank_cmp(const char *str, const ch | Line 30 int milank_cmp(const char *str, const ch |
| return(0); | return(0); |
| } | } |
| int milank_memcmp(const char *str, const char *cmp) { | int milank_memcmp(const OEMCHAR *str, const OEMCHAR *cmp) { |
| int s; | int s; |
| int c; | int c; |
| do { | do { |
| c = (BYTE)*cmp++; | c = *cmp++; |
| if (c == 0) { | if (c == 0) { |
| return(0); | return(0); |
| } | } |
| if (((c - 'a') & 0xff) < 26) { | if ((c >= 'a') && (c <= 'z')) { |
| c -= 0x20; | c -= 0x20; |
| } | } |
| s = (BYTE)*str++; | s = *str++; |
| if (((s - 'a') & 0xff) < 26) { | if ((s >= 'a') && (s <= 'z')) { |
| s -= 0x20; | s -= 0x20; |
| } | } |
| } while(s == c); | } while(s == c); |
| return((s > c)?1:-1); | return((s > c)?1:-1); |
| } | } |
| void milank_ncpy(char *dst, const char *src, int maxlen) { | void milank_ncpy(OEMCHAR *dst, const OEMCHAR *src, int maxlen) { |
| int i; | int i; |
| Line 65 void milank_ncpy(char *dst, const char * | Line 64 void milank_ncpy(char *dst, const char * |
| } | } |
| } | } |
| void milank_ncat(char *dst, const char *src, int maxlen) { | void milank_ncat(OEMCHAR *dst, const OEMCHAR *src, int maxlen) { |
| int i; | int i; |
| int j; | int j; |
| Line 84 void milank_ncat(char *dst, const char * | Line 83 void milank_ncat(char *dst, const char * |
| } | } |
| } | } |
| char *milank_chr(const char *str, int c) { | OEMCHAR *milank_chr(const OEMCHAR *str, int c) { |
| int s; | int s; |
| Line 92 char *milank_chr(const char *str, int c) | Line 91 char *milank_chr(const char *str, int c) |
| do { | do { |
| s = *str; | s = *str; |
| if (s == c) { | if (s == c) { |
| return((char *)str); | return((OEMCHAR *)str); |
| } | } |
| str++; | str++; |
| } while(s); | } while(s); |
| Line 437 int milutf8_charsize(const char *str) { | Line 436 int milutf8_charsize(const char *str) { |
| else if (!(str[0] & 0x80)) { | else if (!(str[0] & 0x80)) { |
| return(1); | return(1); |
| } | } |
| else if ((src[0] & 0xe0) == 0xc0) { | else if ((str[0] & 0xe0) == 0xc0) { |
| if ((src[1] & 0xc0) == 0x80) { | if ((str[1] & 0xc0) == 0x80) { |
| return(2); | return(2); |
| } | } |
| } | } |
| else if ((src[0] & 0xf0) == 0xe0) { | else if ((str[0] & 0xf0) == 0xe0) { |
| if (((src[1] & 0xc0) == 0x80) || | if (((str[1] & 0xc0) == 0x80) || |
| ((src[2] & 0xc0) == 0x80)) { | ((str[2] & 0xc0) == 0x80)) { |
| return(3); | return(3); |
| } | } |
| } | } |
| Line 597 int milstr_extendcmp(const char *str, co | Line 596 int milstr_extendcmp(const char *str, co |
| return((s > c)?1:-1); | return((s > c)?1:-1); |
| } | } |
| char *milstr_nextword(const char *str) { | OEMCHAR *milstr_nextword(const OEMCHAR *str) { |
| if (str) { | if (str) { |
| while(!(((*str) - 1) & 0xe0)) { | while((*str > '\0') && (*str <= ' ')) { |
| str++; | str++; |
| } | } |
| } | } |
| return((char *)str); | return((OEMCHAR *)str); |
| } | } |
| int milstr_getarg(char *str, char *arg[], int maxarg) { | int milstr_getarg(OEMCHAR *str, OEMCHAR *arg[], int maxarg) { |
| int ret = 0; | int ret = 0; |
| char *p; | OEMCHAR *p; |
| BOOL quot; | BOOL quot; |
| while(maxarg--) { | while(maxarg--) { |
| quot = FALSE; | quot = FALSE; |
| while((*str) && (((BYTE)*str) <= 0x20)) { | while((*str > '\0') && (*str <= ' ')) { |
| str++; | str++; |
| } | } |
| if (*str == '\0') { | if (*str == '\0') { |
| Line 624 int milstr_getarg(char *str, char *arg[] | Line 623 int milstr_getarg(char *str, char *arg[] |
| arg[ret++] = str; | arg[ret++] = str; |
| p = str; | p = str; |
| while(*str) { | while(*str) { |
| if (*str == 0x22) { | if (*str == '\"') { |
| quot = !quot; | quot = !quot; |
| } | } |
| else if ((((BYTE)*str) > 0x20) || (quot)) { | else if ((quot) || (*str < '\0') || (*str > ' ')) { |
| *p++ = *str; | *p++ = *str; |
| } | } |
| else { | else { |
| Line 641 int milstr_getarg(char *str, char *arg[] | Line 640 int milstr_getarg(char *str, char *arg[] |
| return(ret); | return(ret); |
| } | } |
| long milstr_solveHEX(const char *str) { | long milstr_solveHEX(const OEMCHAR *str) { |
| long ret; | long ret; |
| int i; | int i; |
| Line 668 long milstr_solveHEX(const char *str) { | Line 667 long milstr_solveHEX(const char *str) { |
| return(ret); | return(ret); |
| } | } |
| long milstr_solveINT(const char *str) { | long milstr_solveINT(const OEMCHAR *str) { |
| long ret; | long ret; |
| int c; | int c; |
| Line 697 long milstr_solveINT(const char *str) { | Line 696 long milstr_solveINT(const char *str) { |
| return(ret * s); | return(ret * s); |
| } | } |
| char *milstr_list(const char *lststr, UINT pos) { | OEMCHAR *milstr_list(const OEMCHAR *lststr, UINT pos) { |
| if (lststr) { | if (lststr) { |
| while(pos) { | while(pos) { |
| Line 706 char *milstr_list(const char *lststr, UI | Line 705 char *milstr_list(const char *lststr, UI |
| } | } |
| } | } |
| } | } |
| return((char *)lststr); | return((OEMCHAR *)lststr); |
| } | } |