bsearch(const void *key, const void *base0, size_t nelem,\r
size_t size, int (*cmp)(const void *ck, const void *ce))\r
{\r
- char *base = (char *)base0;\r
+ const char *base = base0;\r
int lim, cmpval;\r
- void *p;\r
+ const void *p;\r
\r
for (lim = nelem; lim != 0; lim >>= 1)\r
{\r
p = base + (lim >> 1) * size;\r
cmpval = (*cmp)(key, p);\r
if (cmpval == 0)\r
- return p;\r
+ return (void*)((size_t)p);\r
if (cmpval > 0)\r
{ /* key > p: move right */\r
- base = (char *)p + size;\r
+ base = (const char *)p + size;\r
lim--;\r
} /* else move left */\r
}\r
void *_lfind(const void *key, const void *base, size_t *nelp,\r
size_t width, int (*compar)(const void *, const void *))\r
{\r
- char* char_base = (char*)base;\r
+ const char* char_base = (const char *)base;\r
size_t i;\r
\r
for (i = 0; i < *nelp; i++)\r
{\r
if (compar(key, char_base) == 0)\r
- return char_base;\r
+ return (void *)((size_t)char_base);\r
\r
char_base += width;\r
}\r
Status = RtlMultiByteToUnicodeN (wchar,\r
sizeof(WCHAR),\r
&Size,\r
- (char *)mbchar,\r
+ mbchar,\r
count);\r
if (!NT_SUCCESS(Status))\r
return -1;\r
if (wcstr == NULL)\r
{\r
RtlMultiByteToUnicodeSize (&Size,\r
- (char *)mbstr,\r
+ mbstr,\r
Length);\r
\r
return (size_t)Size;\r
Status = RtlMultiByteToUnicodeN (wcstr,\r
count,\r
&Size,\r
- (char *)mbstr,\r
+ mbstr,\r
Length);\r
if (!NT_SUCCESS(Status))\r
return -1;\r
*/\r
void _splitpath(const char* path, char* drive, char* dir, char* fname, char* ext)\r
{\r
- char* tmp_drive;\r
- char* tmp_dir;\r
- char* tmp_ext;\r
+ const char* tmp_drive;\r
+ const char* tmp_dir;\r
+ const char* tmp_ext;\r
\r
- tmp_drive = (char*)strchr(path,':');\r
+ tmp_drive = strchr(path,':');\r
if (drive) {\r
if (tmp_drive) {\r
strncpy(drive,tmp_drive-1,2);\r
}\r
}\r
if (!tmp_drive) {\r
- tmp_drive = (char*)path - 1;\r
+ tmp_drive = path - 1;\r
}\r
\r
tmp_dir = (char*)strrchr(path,'\\');\r
}\r
}\r
\r
- tmp_ext = (char*)strrchr(path,'.');\r
+ tmp_ext = strrchr(path,'.');\r
if (!tmp_ext) {\r
- tmp_ext = (char*)path+strlen(path);\r
+ tmp_ext = path+strlen(path);\r
}\r
if (ext) {\r
strcpy(ext,tmp_ext);\r
else
{
unsigned long char_map[(1 << CHAR_BIT) / BIT_SIZE] = {0, };
- register unsigned char* str = (unsigned char*)s1;
+ const unsigned char* str = (const unsigned char*)s1;
while (*s2)
{
- char_map[*(unsigned char*)s2 / BIT_SIZE] |= (1 << (*(unsigned char*)s2 % BIT_SIZE));
+ char_map[*(const unsigned char*)s2 / BIT_SIZE] |= (1 << (*(const unsigned char*)s2 % BIT_SIZE));
s2++;
}
while (*str)
{
if (char_map[*str / BIT_SIZE] & (1 << (*str % BIT_SIZE)))
{
- return (char*)str;
+ return (char*)((size_t)str);
}
str++;
}
} while (strncmp(s, find, len) != 0);
s--;
}
- return (char *)s;
+ return (char *)((size_t)s);
}
else if (neg)\r
acc = -acc;\r
if (endptr != 0)\r
- *endptr = any ? (char *)s - 1 : (char *)nptr;\r
+ *endptr = any ? (char *)((size_t)(s - 1)) : (char *)((size_t)nptr);\r
return acc;\r
}\r
else if (neg)\r
acc = -acc;\r
if (endptr != 0)\r
- *endptr = any ? (char *)s - 1 : (char *)nptr;\r
+ *endptr = any ? (char *)((size_t)(s - 1)) : (char *)((size_t)nptr);\r
return acc;\r
}\r
size_t _strxspn(const char *s1, const char *s2)
{
unsigned char char_map[1 << CHAR_BIT * sizeof(char)];
- register unsigned char * us2 = (unsigned char *)s2;
- register unsigned char * str = (unsigned char *)s1;
+ const unsigned char * us2 = (const unsigned char *)s2;
+ const unsigned char * str = (const unsigned char *)s1;
memset(char_map, 0, sizeof(char_map));
for(; *str; ++ str)
if(_x(char_map[*str / CHAR_BIT] & (1 << (*str % CHAR_BIT)))) break;
- return str - (unsigned char*)s1;
+ return (size_t)str - (size_t)s1;
}
/* EOF */
else if (neg)\r
acc = -acc;\r
if (endptr != 0)\r
- *endptr = any ? (wchar_t *)s - 1 : (wchar_t *)nptr;\r
+ *endptr = any ? (wchar_t *)((size_t)(s - 1)) : (wchar_t *)((size_t)nptr);\r
return acc;\r
}\r
if (mbstr == NULL)\r
{\r
RtlUnicodeToMultiByteSize (&Size,\r
- (wchar_t *)wcstr,\r
+ (wchar_t*)((size_t)wcstr),\r
Length * sizeof(WCHAR));\r
\r
return (size_t)Size;\r
Status = RtlUnicodeToMultiByteN (mbstr,\r
count,\r
&Size,\r
- (wchar_t *)wcstr,\r
+ (wchar_t*)((size_t)wcstr),\r
Length * sizeof(WCHAR));\r
if (!NT_SUCCESS(Status))\r
return -1;\r
else if (neg)\r
acc = -acc;\r
if (endptr != 0)\r
- *endptr = any ? (wchar_t *)s - 1 : (wchar_t *)nptr;\r
+ *endptr = any ? (wchar_t *)((size_t)s - 1) : (wchar_t *)((size_t)nptr);\r
return acc;\r
}\r
*/
size_t wcscspn(const wchar_t *str,const wchar_t *reject)
{
- wchar_t *s;
- wchar_t *t;
- s=(wchar_t *)str;
+ const wchar_t *t;
+ const wchar_t *s = str;
do {
- t=(wchar_t *)reject;
+ t=reject;
while (*t) {
if (*t==*s)
break;
for (scanp = s2; (sc = *scanp++) != 0;)
if (sc == c)
{
- return (wchar_t *)(--s1);
+ return (wchar_t *)((size_t)(--s1));
}
}
return 0;
*/
size_t wcsspn(const wchar_t *str,const wchar_t *accept)
{
- wchar_t *s;
- wchar_t *t;
- s=(wchar_t *)str;
+ const wchar_t *t;
+ const wchar_t *s = str;
do {
- t=(wchar_t *)accept;
+ t=accept;
while (*t) {
if (*t==*s)
break;
*/
wchar_t *wcsstr(const wchar_t *s,const wchar_t *b)
{
- wchar_t *x;
- wchar_t *y;
- wchar_t *c;
- x=(wchar_t *)s;
+ const wchar_t *y;
+ const wchar_t *c;
+ const wchar_t *x = s;
while (*x) {
if (*x==*b) {
y=x;
- c=(wchar_t *)b;
+ c=b;
while (*y && *c && *y==*c) {
c++;
y++;
}
if (!*c)
- return x;
+ return (wchar_t *)((size_t)x);
}
x++;
}