From e0cef270565ef442aca1258f97b6de15a6b3e336 Mon Sep 17 00:00:00 2001 From: Uwe Bonnes Date: Wed, 11 Jul 2001 20:13:14 +0000 Subject: [PATCH] Semistubs for _ismbcdigit,_ismbcspace,_mbslwr,_mbsnbcmp,_mbsspn. --- dlls/msvcrt/mbcs.c | 110 ++++++++++++++++++++++++++++++++++++++++ dlls/msvcrt/msvcrt.spec | 12 ++--- 2 files changed, 116 insertions(+), 6 deletions(-) diff --git a/dlls/msvcrt/mbcs.c b/dlls/msvcrt/mbcs.c index 90dc8491f7a..e6a7a934f2b 100644 --- a/dlls/msvcrt/mbcs.c +++ b/dlls/msvcrt/mbcs.c @@ -495,3 +495,113 @@ unsigned char* _mbsncat(unsigned char* dst, const unsigned char* src, MSVCRT_siz return strncat(dst, src, len); /* ASCII CP */ } + +/********************************************************************* + * _ismbcdigit(MSVCRT.@) + */ +int _ismbcdigit( unsigned int ch) +{ + if (ch <0x100) + return isdigit(ch); + else + { + FIXME("Handle MBC chars\n"); + return 0; + } +} + + +/********************************************************************* + * _mbsnbcmp(MSVCRT.@) + */ +int _mbsnbcmp( const unsigned char *str,const unsigned char *cmp, MSVCRT_size_t len ) +{ + if (!len) + return 0; + if(MSVCRT___mb_cur_max > 1) + { + FIXME("%s %s %d\n",str,cmp,len); + return 0; + } + return strncmp(str,cmp,len); +} + + +/********************************************************************* + * _mbslwr(MSVCRT.@) + */ +unsigned char * _mbslwr( unsigned char *string ) +{ + unsigned char *p; + + if(MSVCRT___mb_cur_max > 1) + { + FIXME("%s\n",string); + return string; + } + p = string; + while (*p) + { + *p= tolower(*p); + p++; + } + return string; +} + + +/********************************************************************* + * _mbsnbcpy(MSVCRT.@) + */ +unsigned char * _mbsnbcpy(unsigned char *dest,const unsigned char *src,MSVCRT_size_t n) +{ + if(MSVCRT___mb_cur_max > 1) + { + FIXME("%s %d\n",src,n); + return dest; + } + return strncpy(dest, src, n); +} + + +/********************************************************************* + * _mbsspn (MSVCRT.@) + */ +MSVCRT_size_t _mbsspn(const unsigned char *string, const unsigned char *set) +{ + const unsigned char *p, *q; + + for (p = string; *p; p++) + { + if (MSVCRT_isleadbyte(*p)) + { + for (q = set; *q; q++) + { + if (!q[1]) + break; + if ((*p == *q) && (p[1] == q[1])) + break; + q++; + } + if (*++p == '\0') + break; + } + else + for (q = set; *q; q++) + if (*p == *q) + break; + } + return p - string; +} + + +/********************************************************************* + * _ismbcspace (MSVCRT.@) + */ +int _ismbcspace( unsigned int c) +{ + + if (c <0x100) + return isspace(c); + FIXME("%c\n",c); + return 0; +} diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec index 508741e8e07..d8b4a676742 100644 --- a/dlls/msvcrt/msvcrt.spec +++ b/dlls/msvcrt/msvcrt.spec @@ -299,7 +299,7 @@ debug_channels (msvcrt) @ cdecl _ismbbtrail(long) _ismbbtrail @ stub _ismbcalnum #(long) @ stub _ismbcalpha #(long) -@ stub _ismbcdigit #(long) +@ cdecl _ismbcdigit(long) _ismbcdigit @ stub _ismbcgraph #(long) @ cdecl _ismbchira(long) _ismbchira @ cdecl _ismbckata(long) _ismbckata @@ -310,7 +310,7 @@ debug_channels (msvcrt) @ stub _ismbclower #(long) @ stub _ismbcprint #(long) @ stub _ismbcpunct #(long) -@ stub _ismbcspace #(long) +@ cdecl _ismbcspace(long) _ismbcspace @ stub _ismbcsymbol #(long) @ stub _ismbcupper #(long) @ cdecl _ismbslead(ptr ptr) _ismbslead @@ -364,12 +364,12 @@ debug_channels (msvcrt) @ stub _mbsicoll #(str str) @ cdecl _mbsinc(str) _mbsinc @ cdecl _mbslen(str) _mbslen -@ stub _mbslwr #(str) +@ cdecl _mbslwr(str) _mbslwr @ stub _mbsnbcat #(str str long) -@ stub _mbsnbcmp #(str str long) +@ cdecl _mbsnbcmp(str str long) _mbsnbcmp @ stub _mbsnbcnt #(ptr long) @ stub _mbsnbcoll #(str str long) -@ stub _mbsnbcpy #(ptr str long) +@ cdecl _mbsnbcpy(ptr str long) _mbsnbcpy @ stub _mbsnbicmp #(str str long) @ stub _mbsnbicoll #(str str long) @ stub _mbsnbset #(str long long) @@ -387,7 +387,7 @@ debug_channels (msvcrt) @ cdecl _mbsrchr(str long) _mbsrchr @ stub _mbsrev #(str) @ cdecl _mbsset(str long) _mbsset -@ stub _mbsspn #(str str) +@ cdecl _mbsspn(str str) _mbsspn @ stub _mbsspnp #(str str) @ cdecl _mbsstr(str str) strstr @ stub _mbstok #(str str)