40#pragma function(_strset,memchr,memcmp,memcpy,memset,strcat,strcmp,strcpy,strlen)
42#if defined(_M_ARM) || _MSC_VER >= 1932
43#pragma function(strncmp,strncpy)
99 if (*
str >=
'A' && *
str <=
'Z')
178 if (*
str >=
'a' && *
str <=
'z')
233 if(!
str[
i])
return 0;
237 if(!
str[
i])
return 0;
385 *
d = *(
double*)&
bits;
389 TRACE(
"%c %#I64x *2^%d (round %d)\n", fp->
sign == -1 ?
'-' :
'+',
437 while(fp->
m && fp->
exp<0)
468 if (!fp->
m || fp->
exp < 0)
480 *
d = *(
double*)&
bits;
484#define LDBL_EXP_BITS 15
485#define LDBL_MANT_BITS 64
495 d->x80[1] = 0x80000000;
512 TRACE(
"%c %#I64x *2^%d (round %d)\n", fp->
sign == -1 ?
'-' :
'+',
528 d->x80[1] = 0x80000000;
561 while(fp->
m && fp->
exp<0)
590 d->x80[1] = 0x80000000;
596 if (!fp->
m || fp->
exp < 0)
607 d->x80[1] = fp->
m >> 32;
616static inline int hex2int(
char c)
618 if (
c >=
'0' &&
c <=
'9')
620 else if (
c >=
'a' &&
c <=
'f')
622 else if (
c >=
'A' &&
c <=
'F')
640 if (
val == -1)
break;
649 if (
val == -1)
break;
666 else if (!found_digit)
670 return fpnum(0, 0, 0, 0);
676 if (
val == -1)
break;
686 if (
val == -1)
break;
700 if (found_dp) unget(
ctx);
702 return fpnum(0, 0, 0, 0);
705 if(
nch==
'p' ||
nch==
'P') {
714 }
else if(
nch ==
'+') {
718 if(
nch>=
'0' &&
nch<=
'9') {
719 while(
nch>=
'0' &&
nch<=
'9') {
734 if(found_sign) unget(
ctx);
749 if(
b->b ==
b->e-1)
return TRUE;
752 if(
b->b ==
b->e-2)
return TRUE;
762 const wchar_t _infinity[] =
L"infinity";
763 const wchar_t _nan[] =
L"nan";
764 const wchar_t *str_match =
NULL;
768 int e2 = 0, dp=0,
sign=1, off, limb_digits = 0,
i;
778 }
else if(
nch ==
'+') {
785 str_match = _infinity;
788 while(str_match &&
nch !=
WEOF &&
796 else if(
matched >= 3) keep = 3;
802 if (str_match == _infinity)
804 if (str_match ==
_nan)
806 }
else if(found_sign) {
810 return fpnum(0, 0, 0, 0);
816 if(
nch ==
'x' ||
nch ==
'X')
829 while(
nch>=
'0' &&
nch<=
'9') {
845 while(
nch>=
'0' &&
nch<=
'9') {
857 if(
nch==
'0' && !limb_digits && !
b->b) {
865 while(
nch>=
'0' &&
nch<=
'9') {
880 while(
nch>=
'0' &&
nch<=
'9') {
887 if(found_dp) unget(
ctx);
888 if(found_sign) unget(
ctx);
889 return fpnum(0, 0, 0, 0);
900 }
else if(
nch ==
'+') {
907 if(
nch>=
'0' &&
nch<=
'9') {
908 while(
nch>=
'0' &&
nch<=
'9') {
923 if(found_sign) unget(
ctx);
943 if(limb_digits==dp &&
b->b==
b->e-1)
980 for(
i=
b->e-5;
i>=
b->b;
i--) {
999 struct bnum *
b = (
struct bnum*)bnum_data;
1009 struct bnum *
b = (
struct bnum*)bnum_data;
1018 const char **
p =
ctx;
1019 if (!**
p)
return WEOF;
1025 const char **
p =
ctx;
1032 const char *beg, *
p;
1037 if (perr) *perr = 0;
1058 if (
end) *
end = (
p == beg ? (
char*)
str : (
char*)
p);
1061 if (perr) *perr =
err;
1286 if((
dst[
i] =
src[
i]) ==
'\0')
break;
1323 if (!
elem && truncate)
1343 while ((*
dst++ = *
src++));
1363 if((
dst[
i] =
src[
i]) ==
'\0')
return 0;
1390 if((
dst[
j +
i] =
src[
j]) ==
'\0')
return 0;
1407 while ((*
d++ = *
src++));
1420 if (
count == 0)
return 0;
1481 FIXME(
"len > INT_MAX not supported\n");
1533 WINE_BROKEN_LDOUBLE
value[1];
1536 const char *beg, *
p;
1553 if (endptr) *endptr = (
p == beg ? (
char*)
str : (
char*)
p);
1554 if (
p == beg)
ret = 4;
1599 const char *
s =
str;
1611 for(
i=0;
i<maxlen;
i++)
1624 const char *
p = nptr;
1640 }
else if(*nptr ==
'+')
1659 if(
cur>=
'0' &&
cur<=
'9') {
1686 *endptr = (
char*)(got_digit ? nptr :
p);
1732 }
else if(*
str ==
'-') {
1737 while(*
str>=
'0' && *
str<=
'9') {
1876 const char *
p = nptr;
1892 }
else if(*nptr ==
'+')
1911 if(
cur>=
'0' &&
cur<=
'9') {
1932 *endptr = (
char*)(got_digit ? nptr :
p);
1934 return negative ? -
ret :
ret;
1960 is_negative =
FALSE;
1973 *--
pos =
'0' + digit;
1975 *--
pos =
'a' + digit - 10;
2024 is_negative =
FALSE;
2037 *--
pos =
'0' + digit;
2039 *--
pos =
'a' + digit - 10;
2168 *--
pos =
'0' + digit;
2170 *--
pos =
'a' + digit - 10;
2171 }
while (
value != 0);
2192 *--
pos =
'0' + digit;
2194 *--
pos =
'a' + digit - 10;
2195 }
while (
value != 0);
2216 *--
pos =
'0' + digit;
2218 *--
pos =
'a' + digit - 10;
2219 }
while (
value != 0);
2240 *--
pos =
'0' + digit;
2242 *--
pos =
'a' + digit - 10;
2243 }
while (
value != 0);
2265 is_negative =
FALSE;
2278 *--
pos =
'0' + digit;
2280 *--
pos =
'a' + digit - 10;
2307 is_negative =
FALSE;
2320 *--
pos =
'0' + digit;
2322 *--
pos =
'a' + digit - 10;
2360 *--
pos =
'a'+digit-10;
2396 *--
pos =
'0' + digit;
2398 *--
pos =
'a' + digit - 10;
2399 }
while (
value != 0);
2419 if (!
str || !
size || radix < 2 || radix > 36)
2437 *--
pos =
'0' + digit;
2439 *--
pos =
'a' + digit - 10;
2473 if (!
str || !
size || radix < 2 || radix > 36)
2491 *--
pos =
'0' + digit;
2493 *--
pos =
'a' + digit - 10;
2544 is_negative =
FALSE;
2557 *--
pos =
'0' + digit;
2559 *--
pos =
'a' + digit - 10;
2619 is_negative =
FALSE;
2632 *--
pos =
'0' + digit;
2634 *--
pos =
'a' + digit - 10;
2668#define I10_OUTPUT_MAX_PREC 21
2699 WINE_BROKEN_LDOUBLE ld80 = { 0 };
2700 memcpy(&ld80, &ld80_,
sizeof(ld80_));
2708 if ((ld80.x80[2] & 0x7fff) == 0x7fff)
2710 if (ld80.x80[0] == 0 && ld80.x80[1] == 0x80000000)
2713 strcpy(
data->str, (ld80.x80[1] & 0x40000000) ?
"1#QNAN" :
"1#SNAN" );
2715 data->sign = (ld80.x80[2] & 0x8000) ?
'-' :
' ';
2720 num.sign = (ld80.x80[2] & 0x8000) ? -1 : 1;
2721 num.exp = (ld80.x80[2] & 0x7fff) - 0x3fff - 63;
2757 for(
p =
buf+prec+1;
p>
buf+1 && *
p==
'0';
p--);
2763 if(
buf[1]!=
'0' && prec-
data->len+1>0)
2768#undef I10_OUTPUT_MAX_PREC
2772 const unsigned char *p1, *p2;
2774 for (p1 = ptr1, p2 = ptr2;
n;
n--, p1++, p2++)
2777 return *p1 > *p2 ? 1 : -1;
2787 const unaligned_ui64 *p2 = ptr2;
2809 const unsigned char *p1 = ptr1, *p2 = ptr2;
2829#if defined(__i386__) || (defined(__x86_64__) && !defined(__arm64ec__))
2833#define DEST_REG "%edi"
2834#define SRC_REG "%esi"
2835#define LEN_REG "%ecx"
2836#define TMP_REG "%edx"
2838#define MEMMOVE_INIT \
2839 "pushl " SRC_REG "\n\t" \
2840 __ASM_CFI(".cfi_adjust_cfa_offset 4\n\t") \
2841 "pushl " DEST_REG "\n\t" \
2842 __ASM_CFI(".cfi_adjust_cfa_offset 4\n\t") \
2843 "movl 12(%esp), " DEST_REG "\n\t" \
2844 "movl 16(%esp), " SRC_REG "\n\t" \
2845 "movl 20(%esp), " LEN_REG "\n\t"
2847#define MEMMOVE_CLEANUP \
2848 "movl 12(%esp), %eax\n\t" \
2849 "popl " DEST_REG "\n\t" \
2850 __ASM_CFI(".cfi_adjust_cfa_offset -4\n\t") \
2851 "popl " SRC_REG "\n\t" \
2852 __ASM_CFI(".cfi_adjust_cfa_offset -4\n\t")
2856#define DEST_REG "%rdi"
2857#define SRC_REG "%rsi"
2858#define LEN_REG "%r8"
2859#define TMP_REG "%r9"
2861#define MEMMOVE_INIT \
2862 "pushq " SRC_REG "\n\t" \
2863 __ASM_SEH(".seh_pushreg " SRC_REG "\n\t") \
2864 __ASM_CFI(".cfi_adjust_cfa_offset 8\n\t") \
2865 "pushq " DEST_REG "\n\t" \
2866 __ASM_SEH(".seh_pushreg " DEST_REG "\n\t") \
2867 __ASM_SEH(".seh_endprologue\n\t") \
2868 __ASM_CFI(".cfi_adjust_cfa_offset 8\n\t") \
2869 "movq %rcx, " DEST_REG "\n\t" \
2870 "movq %rdx, " SRC_REG "\n\t"
2872#define MEMMOVE_CLEANUP \
2873 "movq %rcx, %rax\n\t" \
2874 "popq " DEST_REG "\n\t" \
2875 __ASM_CFI(".cfi_adjust_cfa_offset -8\n\t") \
2876 "popq " SRC_REG "\n\t" \
2877 __ASM_CFI(".cfi_adjust_cfa_offset -8\n\t")
2880void *
__cdecl sse2_memmove(
void *
dst,
const void *
src,
size_t n);
2883 "mov " DEST_REG
", " TMP_REG
"\n\t"
2884 "sub " SRC_REG
", " TMP_REG
"\n\t"
2885 "cmp " LEN_REG
", " TMP_REG
"\n\t"
2888 "cmp $4, " LEN_REG
"\n\t"
2890 "mov " DEST_REG
", " TMP_REG
"\n\t"
2891 "shr $1, " TMP_REG
"\n\t"
2894 "dec " LEN_REG
"\n\t"
2895 "inc " TMP_REG
"\n\t"
2897 "shr $1, " TMP_REG
"\n\t"
2900 "sub $2, " LEN_REG
"\n\t"
2901 "inc " TMP_REG
"\n\t"
2903 "cmp $16, " LEN_REG
"\n\t"
2905 "shr $1, " TMP_REG
"\n\t"
2908 "sub $4, " LEN_REG
"\n\t"
2909 "inc " TMP_REG
"\n\t"
2911 "shr $1, " TMP_REG
"\n\t"
2915 "sub $8, " LEN_REG
"\n\t"
2917 "cmp $64, " LEN_REG
"\n\t"
2920 "movdqu 0x00(" SRC_REG
"), %xmm0\n\t"
2921 "movdqu 0x10(" SRC_REG
"), %xmm1\n\t"
2922 "movdqu 0x20(" SRC_REG
"), %xmm2\n\t"
2923 "movdqu 0x30(" SRC_REG
"), %xmm3\n\t"
2924 "movdqa %xmm0, 0x00(" DEST_REG
")\n\t"
2925 "movdqa %xmm1, 0x10(" DEST_REG
")\n\t"
2926 "movdqa %xmm2, 0x20(" DEST_REG
")\n\t"
2927 "movdqa %xmm3, 0x30(" DEST_REG
")\n\t"
2928 "add $64, " SRC_REG
"\n\t"
2929 "add $64, " DEST_REG
"\n\t"
2930 "sub $64, " LEN_REG
"\n\t"
2931 "cmp $64, " LEN_REG
"\n\t"
2934 "mov " LEN_REG
", " TMP_REG
"\n\t"
2935 "and $15, " LEN_REG
"\n\t"
2936 "shr $5, " TMP_REG
"\n\t"
2938 "movdqu 0(" SRC_REG
"), %xmm0\n\t"
2939 "movdqa %xmm0, 0(" DEST_REG
")\n\t"
2940 "add $16, " SRC_REG
"\n\t"
2941 "add $16, " DEST_REG
"\n\t"
2943 "shr $1, " TMP_REG
"\n\t"
2944 "jnc copy_fwd15\n\t"
2945 "movdqu 0x00(" SRC_REG
"), %xmm0\n\t"
2946 "movdqu 0x10(" SRC_REG
"), %xmm1\n\t"
2947 "movdqa %xmm0, 0x00(" DEST_REG
")\n\t"
2948 "movdqa %xmm1, 0x10(" DEST_REG
")\n\t"
2949 "add $32, " SRC_REG
"\n\t"
2950 "add $32, " DEST_REG
"\n\t"
2952 "mov " LEN_REG
", " TMP_REG
"\n\t"
2953 "and $3, " LEN_REG
"\n\t"
2954 "shr $3, " TMP_REG
"\n\t"
2958 "shr $1, " TMP_REG
"\n\t"
2963 "shr $1, " LEN_REG
"\n\t"
2967 "shr $1, " LEN_REG
"\n\t"
2974 "lea (" DEST_REG
", " LEN_REG
"), " DEST_REG
"\n\t"
2975 "lea (" SRC_REG
", " LEN_REG
"), " SRC_REG
"\n\t"
2976 "cmp $4, " LEN_REG
"\n\t"
2978 "mov " DEST_REG
", " TMP_REG
"\n\t"
2979 "shr $1, " TMP_REG
"\n\t"
2981 "dec " SRC_REG
"\n\t"
2982 "dec " DEST_REG
"\n\t"
2983 "movb (" SRC_REG
"), %al\n\t"
2984 "movb %al, (" DEST_REG
")\n\t"
2985 "dec " LEN_REG
"\n\t"
2987 "shr $1, " TMP_REG
"\n\t"
2989 "sub $2, " SRC_REG
"\n\t"
2990 "sub $2, " DEST_REG
"\n\t"
2991 "movw (" SRC_REG
"), %ax\n\t"
2992 "movw %ax, (" DEST_REG
")\n\t"
2993 "sub $2, " LEN_REG
"\n\t"
2995 "cmp $16, " LEN_REG
"\n\t"
2997 "shr $1, " TMP_REG
"\n\t"
2999 "sub $4, " SRC_REG
"\n\t"
3000 "sub $4, " DEST_REG
"\n\t"
3001 "movl (" SRC_REG
"), %eax\n\t"
3002 "movl %eax, (" DEST_REG
")\n\t"
3003 "sub $4, " LEN_REG
"\n\t"
3005 "shr $1, " TMP_REG
"\n\t"
3007 "sub $8, " SRC_REG
"\n\t"
3008 "sub $8, " DEST_REG
"\n\t"
3009 "movl 4(" SRC_REG
"), %eax\n\t"
3010 "movl %eax, 4(" DEST_REG
")\n\t"
3011 "movl (" SRC_REG
"), %eax\n\t"
3012 "movl %eax, (" DEST_REG
")\n\t"
3013 "sub $8, " LEN_REG
"\n\t"
3015 "cmp $64, " LEN_REG
"\n\t"
3018 "sub $64, " SRC_REG
"\n\t"
3019 "sub $64, " DEST_REG
"\n\t"
3020 "movdqu 0x00(" SRC_REG
"), %xmm0\n\t"
3021 "movdqu 0x10(" SRC_REG
"), %xmm1\n\t"
3022 "movdqu 0x20(" SRC_REG
"), %xmm2\n\t"
3023 "movdqu 0x30(" SRC_REG
"), %xmm3\n\t"
3024 "movdqa %xmm0, 0x00(" DEST_REG
")\n\t"
3025 "movdqa %xmm1, 0x10(" DEST_REG
")\n\t"
3026 "movdqa %xmm2, 0x20(" DEST_REG
")\n\t"
3027 "movdqa %xmm3, 0x30(" DEST_REG
")\n\t"
3028 "sub $64, " LEN_REG
"\n\t"
3029 "cmp $64, " LEN_REG
"\n\t"
3032 "mov " LEN_REG
", " TMP_REG
"\n\t"
3033 "and $15, " LEN_REG
"\n\t"
3034 "shr $5, " TMP_REG
"\n\t"
3036 "sub $16, " SRC_REG
"\n\t"
3037 "sub $16, " DEST_REG
"\n\t"
3038 "movdqu (" SRC_REG
"), %xmm0\n\t"
3039 "movdqa %xmm0, (" DEST_REG
")\n\t"
3041 "shr $1, " TMP_REG
"\n\t"
3042 "jnc copy_bwd15\n\t"
3043 "sub $32, " SRC_REG
"\n\t"
3044 "sub $32, " DEST_REG
"\n\t"
3045 "movdqu 0x00(" SRC_REG
"), %xmm0\n\t"
3046 "movdqu 0x10(" SRC_REG
"), %xmm1\n\t"
3047 "movdqa %xmm0, 0x00(" DEST_REG
")\n\t"
3048 "movdqa %xmm1, 0x10(" DEST_REG
")\n\t"
3050 "mov " LEN_REG
", " TMP_REG
"\n\t"
3051 "and $3, " LEN_REG
"\n\t"
3052 "shr $3, " TMP_REG
"\n\t"
3054 "sub $4, " SRC_REG
"\n\t"
3055 "sub $4, " DEST_REG
"\n\t"
3056 "movl (" SRC_REG
"), %eax\n\t"
3057 "movl %eax, (" DEST_REG
")\n\t"
3059 "shr $1, " TMP_REG
"\n\t"
3061 "sub $8, " SRC_REG
"\n\t"
3062 "sub $8, " DEST_REG
"\n\t"
3063 "movl 4(" SRC_REG
"), %eax\n\t"
3064 "movl %eax, 4(" DEST_REG
")\n\t"
3065 "movl (" SRC_REG
"), %eax\n\t"
3066 "movl %eax, (" DEST_REG
")\n\t"
3068 "shr $1, " LEN_REG
"\n\t"
3070 "dec " SRC_REG
"\n\t"
3071 "dec " DEST_REG
"\n\t"
3072 "movb (" SRC_REG
"), %al\n\t"
3073 "movb %al, (" DEST_REG
")\n\t"
3075 "shr $1, " LEN_REG
"\n\t"
3077 "movw -2(" SRC_REG
"), %ax\n\t"
3078 "movw %ax, -2(" DEST_REG
")\n\t"
3088#ifdef WORDS_BIGENDIAN
3089# define MERGE(w1, sh1, w2, sh2) ((w1 << sh1) | (w2 >> sh2))
3091# define MERGE(w1, sh1, w2, sh2) ((w1 >> sh1) | (w2 << sh2))
3095#if defined(__x86_64__) && !defined(__arm64ec__)
3096 return sse2_memmove(
dst,
src,
n);
3098 unsigned char *
d =
dst;
3099 const unsigned char *
s =
src;
3104 return sse2_memmove(
dst,
src,
n);
3109 if ((
size_t)
dst - (
size_t)
src >=
n)
3111 for (; (
size_t)
d %
sizeof(
size_t) &&
n;
n--) *
d++ = *
s++;
3113 sh1 = 8 * ((
size_t)
s %
sizeof(
size_t));
3116 while (
n >=
sizeof(
size_t))
3118 *(
size_t*)
d = *(
size_t*)
s;
3124 else if (
n >= 2 *
sizeof(
size_t))
3126 int sh2 = 8 *
sizeof(
size_t) - sh1;
3135 *(
size_t*)
d =
MERGE(
x, sh1,
y, sh2);
3140 *(
size_t*)
d =
MERGE(
y, sh1,
x, sh2);
3144 }
while (
n >= 2 *
sizeof(
size_t));
3147 while (
n--) *
d++ = *
s++;
3155 for (; (
size_t)
d %
sizeof(
size_t) &&
n;
n--) *--
d = *--
s;
3157 sh1 = 8 * ((
size_t)
s %
sizeof(
size_t));
3160 while (
n >=
sizeof(
size_t))
3164 *(
size_t*)
d = *(
size_t*)
s;
3168 else if (
n >= 2 *
sizeof(
size_t))
3170 int sh2 = 8 *
sizeof(
size_t) - sh1;
3180 *(
size_t*)
d =
MERGE(
y, sh1,
x, sh2);
3185 *(
size_t*)
d =
MERGE(
x, sh1,
y, sh2);
3188 }
while (
n >= 2 *
sizeof(
size_t));
3191 while (
n--) *--
d = *--
s;
3212 unsigned char *
d =
dst;
3213 const unsigned char *
s =
src;
3214 while (
n--)
if ((*
d++ = *
s++) == (
unsigned char)
c)
return d;
3221 unsigned char *
end =
d +
n;
3242 unsigned char *
d = (
unsigned char *)
dst;
3247 *(unaligned_ui64 *)(
d + 0) =
v;
3248 *(unaligned_ui64 *)(
d + 8) =
v;
3249 *(unaligned_ui64 *)(
d +
n - 16) =
v;
3250 *(unaligned_ui64 *)(
d +
n - 8) =
v;
3251 if (
n <= 32)
return dst;
3252 *(unaligned_ui64 *)(
d + 16) =
v;
3253 *(unaligned_ui64 *)(
d + 24) =
v;
3254 *(unaligned_ui64 *)(
d +
n - 32) =
v;
3255 *(unaligned_ui64 *)(
d +
n - 24) =
v;
3256 if (
n <= 64)
return dst;
3258 n = (
n -
a) & ~0x1f;
3264 *(unaligned_ui64 *)
d =
v;
3265 *(unaligned_ui64 *)(
d +
n - 8) =
v;
3270 *(unaligned_ui32 *)
d =
v;
3271 *(unaligned_ui32 *)(
d +
n - 4) =
v;
3276 *(unaligned_ui16 *)
d =
v;
3277 *(unaligned_ui16 *)(
d +
n - 2) =
v;
3295 if (*
str == (
char)
c)
return (
char*)
str;
3306 do {
if (*
str == (
char)
c)
ret = (
char*)
str; }
while (*
str++);
3315 const unsigned char *
p =
ptr;
3327 if ((
unsigned char)*
str1 > (
unsigned char)*
str2)
return 1;
3328 if ((
unsigned char)*
str1 < (
unsigned char)*
str2)
return -1;
3340#if defined(_WIN64) || defined(_UCRT) || _MSVCR_VER == 70 || _MSVCR_VER == 71 || _MSVCR_VER >= 110
3341 if ((
unsigned char)*
str1 > (
unsigned char)*
str2)
return 1;
3342 if ((
unsigned char)*
str1 < (
unsigned char)*
str2)
return -1;
3376 if ((c1 = *
s1++) >=
'A' && c1 <=
'Z')
3378 if ((c2 = *
s2++) >=
'A' && c2 <=
'Z')
3380 }
while(--
count && c1 && c1==c2);
3382 return (
unsigned char)c1 - (
unsigned char)c2;
3388 }
while(--
count && c1 && c1==c2);
3422 size_t i,
j,
len, needle_len, lps_len;
3425 needle_len =
strlen(needle);
3426 if (!needle_len)
return (
char*)
haystack;
3434 if (needle[
i] == needle[
len]) lps[
i++] = ++
len;
3448 if (
j == needle_len)
return (
char*)
haystack +
i -
j;
3468#if _MSVCR_VER == 0 || _MSVCR_VER >= 80
3503 memset(rejects, 0,
sizeof(rejects));
3513 while(*
p && !rejects[(
unsigned char)*
p])
p++;
3543#if _MSVCR_VER >= 140
3562 return (
char *)(
str2 - 1);
3570 return (
char *)(
str + 1);
3578 return (
unsigned char)
str[0];
3586 return (
char *)(
str +
len);
std::map< E_MODULE, HMODULE > mod
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
void get(int argc, const char *argv[])
static BOOL bnum_lshift(struct bnum *b, int shift)
static void bnum_mult(struct bnum *b, int mult)
static int bnum_idx(struct bnum *b, int idx)
static BOOL bnum_rshift(struct bnum *b, int shift)
#define _strnicmp(_String1, _String2, _MaxCount)
INT WINAPI LCMapStringA(LCID lcid, DWORD flags, LPCSTR src, INT srclen, LPSTR dst, INT dstlen)
INT WINAPI CompareStringA(LCID lcid, DWORD flags, LPCSTR str1, INT len1, LPCSTR str2, INT len2)
int CDECL _tolower_l(int c, _locale_t locale)
int CDECL _toupper_l(int c, _locale_t locale)
void __cdecl _invalid_parameter(const wchar_t *expr, const wchar_t *func, const wchar_t *file, unsigned int line, uintptr_t arg)
#define DECLSPEC_ALIGN(x)
unsigned long __msvcrt_ulong
_ACRTIMP int __cdecl memcmp(const void *, const void *, size_t)
_ACRTIMP double __cdecl remainder(double, double)
_ACRTIMP double __cdecl floor(double)
_ACRTIMP float __cdecl _strtof_l(const char *, char **, _locale_t)
_ACRTIMP float __cdecl strtof(const char *, char **)
_ACRTIMP int __cdecl atoi(const char *)
_ACRTIMP __int64 __cdecl atoll(const char *)
_ACRTIMP size_t __cdecl strlen(const char *)
thread_data_t *CDECL msvcrt_get_thread_data(void)
#define MSVCRT_INVALID_PMT(x, err)
#define MSVCRT_CHECK_PMT(x)
int __cdecl strncmp(const char *str1, const char *str2, size_t len)
int CDECL _strlwr_s(char *str, size_t len)
int __cdecl _memicmp_l(const void *v1, const void *v2, size_t len, _locale_t locale)
int CDECL _strnicoll_l(const char *str1, const char *str2, size_t count, _locale_t locale)
static int ltoa_helper(__msvcrt_long value, char *str, size_t size, int radix)
int CDECL _atodbl(_CRT_DOUBLE *value, char *str)
size_t CDECL _strxfrm_l(char *dest, const char *src, size_t len, _locale_t locale)
__msvcrt_ulong CDECL _strtoul_l(const char *nptr, char **end, int base, _locale_t locale)
void CDECL _swab(char *src, char *dst, int len)
int __cdecl _memicmp(const void *s1, const void *s2, size_t len)
int CDECL _atodbl_l(_CRT_DOUBLE *value, char *str, _locale_t locale)
int CDECL _ui64tow_s(unsigned __int64 value, wchar_t *str, size_t size, int radix)
__int64 CDECL _strtoi64(const char *nptr, char **endptr, int base)
int CDECL _ultow_s(__msvcrt_ulong value, wchar_t *str, size_t size, int radix)
int CDECL __STRINGTOLD_L(MSVCRT__LDOUBLE *value, char **endptr, const char *str, int flags, _locale_t locale)
int CDECL strcat_s(char *dst, size_t elem, const char *src)
unsigned __int64 CDECL _strtoui64(const char *nptr, char **endptr, int base)
int CDECL _stricoll_l(const char *str1, const char *str2, _locale_t locale)
static struct fpnum fpnum_parse_bnum(wchar_t(*get)(void *ctx), void(*unget)(void *ctx), void *ctx, pthreadlocinfo locinfo, BOOL ldouble, struct bnum *b)
size_t CDECL strxfrm(char *dest, const char *src, size_t len)
double CDECL strtod(const char *str, char **end)
__int64 CDECL _atoi64_l(const char *str, _locale_t locale)
int CDECL __STRINGTOLD(MSVCRT__LDOUBLE *value, char **endptr, const char *str, int flags)
char *CDECL _i64toa(__int64 value, char *str, int radix)
char *__cdecl strrchr(const char *str, int c)
size_t CDECL strnlen(const char *s, size_t maxlen)
int CDECL _strnicoll(const char *str1, const char *str2, size_t count)
int CDECL _ltow_s(__msvcrt_long value, wchar_t *str, size_t size, int radix)
int CDECL _strncoll(const char *str1, const char *str2, size_t count)
size_t __cdecl strcspn(const char *str, const char *reject)
void *__cdecl _memccpy(void *dst, const void *src, int c, size_t n)
int CDECL _strcoll_l(const char *str1, const char *str2, _locale_t locale)
static int memcmp_bytes(const void *ptr1, const void *ptr2, size_t n)
__int64 CDECL _atoi64(const char *str)
int CDECL _stricoll(const char *str1, const char *str2)
wchar_t *CDECL _itow(int value, wchar_t *str, int radix)
static BOOL bnum_to_mant(struct bnum *b, ULONGLONG *m)
int CDECL _ultoa_s(__msvcrt_ulong value, char *str, size_t size, int radix)
size_t __cdecl __strncnt(const char *str, size_t size)
char *CDECL strtok(char *str, const char *delim)
__msvcrt_long CDECL strtol(const char *nptr, char **end, int base)
int fpnum_double(struct fpnum *fp, double *d)
struct fpnum fpnum_parse(wchar_t(*get)(void *ctx), void(*unget)(void *ctx), void *ctx, pthreadlocinfo locinfo, BOOL ldouble)
int CDECL _ui64toa_s(unsigned __int64 value, char *str, size_t size, int radix)
int CDECL _atoldbl_l(MSVCRT__LDOUBLE *value, char *str, _locale_t locale)
char *__cdecl strpbrk(const char *str, const char *accept)
int CDECL _atoldbl(_LDOUBLE *value, char *str)
int __cdecl _strnicmp_l(const char *s1, const char *s2, size_t count, _locale_t locale)
int CDECL strcpy_s(char *dst, size_t elem, const char *src)
wchar_t *CDECL _ui64tow(unsigned __int64 value, wchar_t *str, int radix)
char *__cdecl strchr(const char *str, int c)
double CDECL _strtod_l(const char *str, char **end, _locale_t locale)
char *CDECL _ui64toa(unsigned __int64 value, char *str, int radix)
#define I10_OUTPUT_MAX_PREC
char *CDECL _strrev(char *str)
int __cdecl _atoi_l(const char *str, _locale_t locale)
__msvcrt_ulong CDECL strtoul(const char *nptr, char **end, int base)
int CDECL _i64tow_s(__int64 value, wchar_t *str, size_t size, int radix)
int __cdecl strcmp(const char *str1, const char *str2)
int __cdecl _stricmp_l(const char *s1, const char *s2, _locale_t locale)
static int memcmp_blocks(const void *ptr1, const void *ptr2, size_t size)
int CDECL _atoflt(_CRT_FLOAT *value, char *str)
wchar_t *CDECL _ltow(__msvcrt_long value, wchar_t *str, int radix)
int CDECL _itoa_s(int value, char *str, size_t size, int radix)
static void strtod_str_unget(void *ctx)
wchar_t *CDECL _i64tow(__int64 value, wchar_t *str, int radix)
static double strtod_helper(const char *str, char **end, _locale_t locale, int *perr)
int CDECL _atoflt_l(_CRT_FLOAT *value, char *str, _locale_t locale)
wchar_t *CDECL _ultow(__msvcrt_ulong value, wchar_t *str, int radix)
double CDECL _atof_l(const char *str, _locale_t locale)
static int ltow_helper(__msvcrt_long value, wchar_t *str, size_t size, int radix)
static wchar_t strtod_str_get(void *ctx)
static void memset_aligned_32(unsigned char *d, uint64_t v, size_t n)
__msvcrt_long CDECL _atol_l(const char *str, _locale_t locale)
int CDECL _strncoll_l(const char *str1, const char *str2, size_t count, _locale_t locale)
int CDECL I10_OUTPUT(MSVCRT__LDOUBLE ld80, int prec, int flag, struct _I10_OUTPUT_DATA *data)
int CDECL _strupr_s(char *str, size_t len)
__msvcrt_long CDECL atol(const char *str)
int CDECL _ltoa_s(__msvcrt_long value, char *str, size_t size, int radix)
int CDECL _i64toa_s(__int64 value, char *str, size_t size, int radix)
int CDECL _itow_s(int value, wchar_t *str, size_t size, int radix)
__int64 CDECL _strtoi64_l(const char *nptr, char **endptr, int base, _locale_t locale)
int fpnum_ldouble(struct fpnum *fp, MSVCRT__LDOUBLE *d)
__msvcrt_long CDECL _strtol_l(const char *nptr, char **end, int base, _locale_t locale)
unsigned __int64 CDECL _strtoui64_l(const char *nptr, char **endptr, int base, _locale_t locale)
char *__cdecl strstr(const char *haystack, const char *needle)
char *CDECL strtok_s(char *str, const char *delim, char **ctx)
#define MERGE(w1, sh1, w2, sh2)
size_t __cdecl strspn(const char *str, const char *accept)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
int align(int length, int align)
GLint GLint GLint GLint GLint x
GLuint GLuint GLsizei count
GLint GLint GLint GLint GLint GLint y
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLboolean GLboolean GLboolean b
GLenum GLuint GLenum GLsizei const GLchar * buf
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
GLboolean GLboolean GLboolean GLboolean a
GLfloat GLfloat GLfloat v2
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean flag
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
#define _strninc(_pc, _sz)
#define _strdec(_cpc1, _cpc2)
#define _strspnp(_cpc1, _cpc2)
#define memcpy(s1, s2, n)
#define memmove(s1, s2, n)
static const char haystack[]
static unsigned(__cdecl *hash_bstr)(bstr_t s)
#define __ASM_GLOBAL_FUNC(name, code)
#define _isspace_l(_Char, _Locale)
_Check_return_ _ACRTIMP long long __cdecl _atoll_l(_In_z_ char const *_String, _In_opt_ _locale_t _Locale)
_In_opt_ _Locale strncat_s
XML_HIDDEN void xmlParserErrors const char const xmlChar const xmlChar * str2
XML_HIDDEN void xmlParserErrors const char const xmlChar * str1
SOCKET WSAAPI accept(IN SOCKET s, OUT LPSOCKADDR addr, OUT INT FAR *addrlen)
char str[I10_OUTPUT_MAX_PREC+1]
#define FIELD_OFFSET(t, f)
size_t const unsigned const radix