40#pragma function(_strset,memchr,memcmp,memcpy,memset,strcat,strcmp,strcpy,strlen)
94 if (*
str >=
'A' && *
str <=
'Z')
173 if (*
str >=
'a' && *
str <=
'z')
228 if(!
str[
i])
return 0;
232 if(!
str[
i])
return 0;
380 *
d = *(
double*)&
bits;
384 TRACE(
"%c %#I64x *2^%d (round %d)\n", fp->
sign == -1 ?
'-' :
'+',
432 while(fp->
m && fp->
exp<0)
463 if (!fp->
m || fp->
exp < 0)
475 *
d = *(
double*)&
bits;
479#define LDBL_EXP_BITS 15
480#define LDBL_MANT_BITS 64
490 d->x80[1] = 0x80000000;
507 TRACE(
"%c %#I64x *2^%d (round %d)\n", fp->
sign == -1 ?
'-' :
'+',
523 d->x80[1] = 0x80000000;
556 while(fp->
m && fp->
exp<0)
585 d->x80[1] = 0x80000000;
591 if (!fp->
m || fp->
exp < 0)
602 d->x80[1] = fp->
m >> 32;
611static inline int hex2int(
char c)
613 if (
c >=
'0' &&
c <=
'9')
615 else if (
c >=
'a' &&
c <=
'f')
617 else if (
c >=
'A' &&
c <=
'F')
635 if (
val == -1)
break;
644 if (
val == -1)
break;
661 else if (!found_digit)
665 return fpnum(0, 0, 0, 0);
671 if (
val == -1)
break;
681 if (
val == -1)
break;
695 if (found_dp) unget(
ctx);
697 return fpnum(0, 0, 0, 0);
700 if(
nch==
'p' ||
nch==
'P') {
709 }
else if(
nch ==
'+') {
713 if(
nch>=
'0' &&
nch<=
'9') {
714 while(
nch>=
'0' &&
nch<=
'9') {
729 if(found_sign) unget(
ctx);
744 if(
b->b ==
b->e-1)
return TRUE;
747 if(
b->b ==
b->e-2)
return TRUE;
757 const wchar_t _infinity[] =
L"infinity";
758 const wchar_t _nan[] =
L"nan";
759 const wchar_t *str_match =
NULL;
763 int e2 = 0, dp=0,
sign=1, off, limb_digits = 0,
i;
773 }
else if(
nch ==
'+') {
780 str_match = _infinity;
783 while(str_match &&
nch !=
WEOF &&
791 else if(
matched >= 3) keep = 3;
797 if (str_match == _infinity)
799 if (str_match ==
_nan)
801 }
else if(found_sign) {
805 return fpnum(0, 0, 0, 0);
811 if(
nch ==
'x' ||
nch ==
'X')
824 while(
nch>=
'0' &&
nch<=
'9') {
840 while(
nch>=
'0' &&
nch<=
'9') {
852 if(
nch==
'0' && !limb_digits && !
b->b) {
860 while(
nch>=
'0' &&
nch<=
'9') {
875 while(
nch>=
'0' &&
nch<=
'9') {
882 if(found_dp) unget(
ctx);
883 if(found_sign) unget(
ctx);
884 return fpnum(0, 0, 0, 0);
895 }
else if(
nch ==
'+') {
902 if(
nch>=
'0' &&
nch<=
'9') {
903 while(
nch>=
'0' &&
nch<=
'9') {
918 if(found_sign) unget(
ctx);
938 if(limb_digits==dp &&
b->b==
b->e-1)
975 for(
i=
b->e-5;
i>=
b->b;
i--) {
994 struct bnum *
b = (
struct bnum*)bnum_data;
1004 struct bnum *
b = (
struct bnum*)bnum_data;
1013 const char **
p =
ctx;
1014 if (!**
p)
return WEOF;
1020 const char **
p =
ctx;
1027 const char *beg, *
p;
1032 if (perr) *perr = 0;
1053 if (
end) *
end = (
p == beg ? (
char*)
str : (
char*)
p);
1056 if (perr) *perr =
err;
1281 if((
dst[
i] =
src[
i]) ==
'\0')
break;
1318 if (!
elem && truncate)
1338 while ((*
dst++ = *
src++));
1358 if((
dst[
i] =
src[
i]) ==
'\0')
return 0;
1385 if((
dst[
j +
i] =
src[
j]) ==
'\0')
return 0;
1402 while ((*
d++ = *
src++));
1415 if (
count == 0)
return 0;
1476 FIXME(
"len > INT_MAX not supported\n");
1528 WINE_BROKEN_LDOUBLE
value[1];
1531 const char *beg, *
p;
1548 if (endptr) *endptr = (
p == beg ? (
char*)
str : (
char*)
p);
1549 if (
p == beg)
ret = 4;
1594 const char *
s =
str;
1606 for(
i=0;
i<maxlen;
i++)
1619 const char *
p = nptr;
1635 }
else if(*nptr ==
'+')
1654 if(
cur>=
'0' &&
cur<=
'9') {
1681 *endptr = (
char*)(got_digit ? nptr :
p);
1727 }
else if(*
str ==
'-') {
1732 while(*
str>=
'0' && *
str<=
'9') {
1871 const char *
p = nptr;
1887 }
else if(*nptr ==
'+')
1906 if(
cur>=
'0' &&
cur<=
'9') {
1927 *endptr = (
char*)(got_digit ? nptr :
p);
1929 return negative ? -
ret :
ret;
1955 is_negative =
FALSE;
1968 *--
pos =
'0' + digit;
1970 *--
pos =
'a' + digit - 10;
2019 is_negative =
FALSE;
2032 *--
pos =
'0' + digit;
2034 *--
pos =
'a' + digit - 10;
2163 *--
pos =
'0' + digit;
2165 *--
pos =
'a' + digit - 10;
2166 }
while (
value != 0);
2187 *--
pos =
'0' + digit;
2189 *--
pos =
'a' + digit - 10;
2190 }
while (
value != 0);
2211 *--
pos =
'0' + digit;
2213 *--
pos =
'a' + digit - 10;
2214 }
while (
value != 0);
2235 *--
pos =
'0' + digit;
2237 *--
pos =
'a' + digit - 10;
2238 }
while (
value != 0);
2260 is_negative =
FALSE;
2273 *--
pos =
'0' + digit;
2275 *--
pos =
'a' + digit - 10;
2302 is_negative =
FALSE;
2315 *--
pos =
'0' + digit;
2317 *--
pos =
'a' + digit - 10;
2355 *--
pos =
'a'+digit-10;
2391 *--
pos =
'0' + digit;
2393 *--
pos =
'a' + digit - 10;
2394 }
while (
value != 0);
2414 if (!
str || !
size || radix < 2 || radix > 36)
2432 *--
pos =
'0' + digit;
2434 *--
pos =
'a' + digit - 10;
2468 if (!
str || !
size || radix < 2 || radix > 36)
2486 *--
pos =
'0' + digit;
2488 *--
pos =
'a' + digit - 10;
2539 is_negative =
FALSE;
2552 *--
pos =
'0' + digit;
2554 *--
pos =
'a' + digit - 10;
2614 is_negative =
FALSE;
2627 *--
pos =
'0' + digit;
2629 *--
pos =
'a' + digit - 10;
2663#define I10_OUTPUT_MAX_PREC 21
2694 WINE_BROKEN_LDOUBLE ld80 = { 0 };
2695 memcpy(&ld80, &ld80_,
sizeof(ld80_));
2703 if ((ld80.x80[2] & 0x7fff) == 0x7fff)
2705 if (ld80.x80[0] == 0 && ld80.x80[1] == 0x80000000)
2708 strcpy(
data->str, (ld80.x80[1] & 0x40000000) ?
"1#QNAN" :
"1#SNAN" );
2710 data->sign = (ld80.x80[2] & 0x8000) ?
'-' :
' ';
2715 num.sign = (ld80.x80[2] & 0x8000) ? -1 : 1;
2716 num.exp = (ld80.x80[2] & 0x7fff) - 0x3fff - 63;
2752 for(
p =
buf+prec+1;
p>
buf+1 && *
p==
'0';
p--);
2758 if(
buf[1]!=
'0' && prec-
data->len+1>0)
2763#undef I10_OUTPUT_MAX_PREC
2767 const unsigned char *p1, *p2;
2769 for (p1 = ptr1, p2 = ptr2;
n;
n--, p1++, p2++)
2772 return *p1 > *p2 ? 1 : -1;
2782 const unaligned_ui64 *p2 = ptr2;
2804 const unsigned char *p1 = ptr1, *p2 = ptr2;
2824#if defined(__i386__) || (defined(__x86_64__) && !defined(__arm64ec__))
2828#define DEST_REG "%edi"
2829#define SRC_REG "%esi"
2830#define LEN_REG "%ecx"
2831#define TMP_REG "%edx"
2833#define MEMMOVE_INIT \
2834 "pushl " SRC_REG "\n\t" \
2835 __ASM_CFI(".cfi_adjust_cfa_offset 4\n\t") \
2836 "pushl " DEST_REG "\n\t" \
2837 __ASM_CFI(".cfi_adjust_cfa_offset 4\n\t") \
2838 "movl 12(%esp), " DEST_REG "\n\t" \
2839 "movl 16(%esp), " SRC_REG "\n\t" \
2840 "movl 20(%esp), " LEN_REG "\n\t"
2842#define MEMMOVE_CLEANUP \
2843 "movl 12(%esp), %eax\n\t" \
2844 "popl " DEST_REG "\n\t" \
2845 __ASM_CFI(".cfi_adjust_cfa_offset -4\n\t") \
2846 "popl " SRC_REG "\n\t" \
2847 __ASM_CFI(".cfi_adjust_cfa_offset -4\n\t")
2851#define DEST_REG "%rdi"
2852#define SRC_REG "%rsi"
2853#define LEN_REG "%r8"
2854#define TMP_REG "%r9"
2856#define MEMMOVE_INIT \
2857 "pushq " SRC_REG "\n\t" \
2858 __ASM_SEH(".seh_pushreg " SRC_REG "\n\t") \
2859 __ASM_CFI(".cfi_adjust_cfa_offset 8\n\t") \
2860 "pushq " DEST_REG "\n\t" \
2861 __ASM_SEH(".seh_pushreg " DEST_REG "\n\t") \
2862 __ASM_SEH(".seh_endprologue\n\t") \
2863 __ASM_CFI(".cfi_adjust_cfa_offset 8\n\t") \
2864 "movq %rcx, " DEST_REG "\n\t" \
2865 "movq %rdx, " SRC_REG "\n\t"
2867#define MEMMOVE_CLEANUP \
2868 "movq %rcx, %rax\n\t" \
2869 "popq " DEST_REG "\n\t" \
2870 __ASM_CFI(".cfi_adjust_cfa_offset -8\n\t") \
2871 "popq " SRC_REG "\n\t" \
2872 __ASM_CFI(".cfi_adjust_cfa_offset -8\n\t")
2875void *
__cdecl sse2_memmove(
void *
dst,
const void *
src,
size_t n);
2878 "mov " DEST_REG
", " TMP_REG
"\n\t"
2879 "sub " SRC_REG
", " TMP_REG
"\n\t"
2880 "cmp " LEN_REG
", " TMP_REG
"\n\t"
2883 "cmp $4, " LEN_REG
"\n\t"
2885 "mov " DEST_REG
", " TMP_REG
"\n\t"
2886 "shr $1, " TMP_REG
"\n\t"
2889 "dec " LEN_REG
"\n\t"
2890 "inc " TMP_REG
"\n\t"
2892 "shr $1, " TMP_REG
"\n\t"
2895 "sub $2, " LEN_REG
"\n\t"
2896 "inc " TMP_REG
"\n\t"
2898 "cmp $16, " LEN_REG
"\n\t"
2900 "shr $1, " TMP_REG
"\n\t"
2903 "sub $4, " LEN_REG
"\n\t"
2904 "inc " TMP_REG
"\n\t"
2906 "shr $1, " TMP_REG
"\n\t"
2910 "sub $8, " LEN_REG
"\n\t"
2912 "cmp $64, " LEN_REG
"\n\t"
2915 "movdqu 0x00(" SRC_REG
"), %xmm0\n\t"
2916 "movdqu 0x10(" SRC_REG
"), %xmm1\n\t"
2917 "movdqu 0x20(" SRC_REG
"), %xmm2\n\t"
2918 "movdqu 0x30(" SRC_REG
"), %xmm3\n\t"
2919 "movdqa %xmm0, 0x00(" DEST_REG
")\n\t"
2920 "movdqa %xmm1, 0x10(" DEST_REG
")\n\t"
2921 "movdqa %xmm2, 0x20(" DEST_REG
")\n\t"
2922 "movdqa %xmm3, 0x30(" DEST_REG
")\n\t"
2923 "add $64, " SRC_REG
"\n\t"
2924 "add $64, " DEST_REG
"\n\t"
2925 "sub $64, " LEN_REG
"\n\t"
2926 "cmp $64, " LEN_REG
"\n\t"
2929 "mov " LEN_REG
", " TMP_REG
"\n\t"
2930 "and $15, " LEN_REG
"\n\t"
2931 "shr $5, " TMP_REG
"\n\t"
2933 "movdqu 0(" SRC_REG
"), %xmm0\n\t"
2934 "movdqa %xmm0, 0(" DEST_REG
")\n\t"
2935 "add $16, " SRC_REG
"\n\t"
2936 "add $16, " DEST_REG
"\n\t"
2938 "shr $1, " TMP_REG
"\n\t"
2939 "jnc copy_fwd15\n\t"
2940 "movdqu 0x00(" SRC_REG
"), %xmm0\n\t"
2941 "movdqu 0x10(" SRC_REG
"), %xmm1\n\t"
2942 "movdqa %xmm0, 0x00(" DEST_REG
")\n\t"
2943 "movdqa %xmm1, 0x10(" DEST_REG
")\n\t"
2944 "add $32, " SRC_REG
"\n\t"
2945 "add $32, " DEST_REG
"\n\t"
2947 "mov " LEN_REG
", " TMP_REG
"\n\t"
2948 "and $3, " LEN_REG
"\n\t"
2949 "shr $3, " TMP_REG
"\n\t"
2953 "shr $1, " TMP_REG
"\n\t"
2958 "shr $1, " LEN_REG
"\n\t"
2962 "shr $1, " LEN_REG
"\n\t"
2969 "lea (" DEST_REG
", " LEN_REG
"), " DEST_REG
"\n\t"
2970 "lea (" SRC_REG
", " LEN_REG
"), " SRC_REG
"\n\t"
2971 "cmp $4, " LEN_REG
"\n\t"
2973 "mov " DEST_REG
", " TMP_REG
"\n\t"
2974 "shr $1, " TMP_REG
"\n\t"
2976 "dec " SRC_REG
"\n\t"
2977 "dec " DEST_REG
"\n\t"
2978 "movb (" SRC_REG
"), %al\n\t"
2979 "movb %al, (" DEST_REG
")\n\t"
2980 "dec " LEN_REG
"\n\t"
2982 "shr $1, " TMP_REG
"\n\t"
2984 "sub $2, " SRC_REG
"\n\t"
2985 "sub $2, " DEST_REG
"\n\t"
2986 "movw (" SRC_REG
"), %ax\n\t"
2987 "movw %ax, (" DEST_REG
")\n\t"
2988 "sub $2, " LEN_REG
"\n\t"
2990 "cmp $16, " LEN_REG
"\n\t"
2992 "shr $1, " TMP_REG
"\n\t"
2994 "sub $4, " SRC_REG
"\n\t"
2995 "sub $4, " DEST_REG
"\n\t"
2996 "movl (" SRC_REG
"), %eax\n\t"
2997 "movl %eax, (" DEST_REG
")\n\t"
2998 "sub $4, " LEN_REG
"\n\t"
3000 "shr $1, " TMP_REG
"\n\t"
3002 "sub $8, " SRC_REG
"\n\t"
3003 "sub $8, " DEST_REG
"\n\t"
3004 "movl 4(" SRC_REG
"), %eax\n\t"
3005 "movl %eax, 4(" DEST_REG
")\n\t"
3006 "movl (" SRC_REG
"), %eax\n\t"
3007 "movl %eax, (" DEST_REG
")\n\t"
3008 "sub $8, " LEN_REG
"\n\t"
3010 "cmp $64, " LEN_REG
"\n\t"
3013 "sub $64, " SRC_REG
"\n\t"
3014 "sub $64, " DEST_REG
"\n\t"
3015 "movdqu 0x00(" SRC_REG
"), %xmm0\n\t"
3016 "movdqu 0x10(" SRC_REG
"), %xmm1\n\t"
3017 "movdqu 0x20(" SRC_REG
"), %xmm2\n\t"
3018 "movdqu 0x30(" SRC_REG
"), %xmm3\n\t"
3019 "movdqa %xmm0, 0x00(" DEST_REG
")\n\t"
3020 "movdqa %xmm1, 0x10(" DEST_REG
")\n\t"
3021 "movdqa %xmm2, 0x20(" DEST_REG
")\n\t"
3022 "movdqa %xmm3, 0x30(" DEST_REG
")\n\t"
3023 "sub $64, " LEN_REG
"\n\t"
3024 "cmp $64, " LEN_REG
"\n\t"
3027 "mov " LEN_REG
", " TMP_REG
"\n\t"
3028 "and $15, " LEN_REG
"\n\t"
3029 "shr $5, " TMP_REG
"\n\t"
3031 "sub $16, " SRC_REG
"\n\t"
3032 "sub $16, " DEST_REG
"\n\t"
3033 "movdqu (" SRC_REG
"), %xmm0\n\t"
3034 "movdqa %xmm0, (" DEST_REG
")\n\t"
3036 "shr $1, " TMP_REG
"\n\t"
3037 "jnc copy_bwd15\n\t"
3038 "sub $32, " SRC_REG
"\n\t"
3039 "sub $32, " DEST_REG
"\n\t"
3040 "movdqu 0x00(" SRC_REG
"), %xmm0\n\t"
3041 "movdqu 0x10(" SRC_REG
"), %xmm1\n\t"
3042 "movdqa %xmm0, 0x00(" DEST_REG
")\n\t"
3043 "movdqa %xmm1, 0x10(" DEST_REG
")\n\t"
3045 "mov " LEN_REG
", " TMP_REG
"\n\t"
3046 "and $3, " LEN_REG
"\n\t"
3047 "shr $3, " TMP_REG
"\n\t"
3049 "sub $4, " SRC_REG
"\n\t"
3050 "sub $4, " DEST_REG
"\n\t"
3051 "movl (" SRC_REG
"), %eax\n\t"
3052 "movl %eax, (" DEST_REG
")\n\t"
3054 "shr $1, " TMP_REG
"\n\t"
3056 "sub $8, " SRC_REG
"\n\t"
3057 "sub $8, " DEST_REG
"\n\t"
3058 "movl 4(" SRC_REG
"), %eax\n\t"
3059 "movl %eax, 4(" DEST_REG
")\n\t"
3060 "movl (" SRC_REG
"), %eax\n\t"
3061 "movl %eax, (" DEST_REG
")\n\t"
3063 "shr $1, " LEN_REG
"\n\t"
3065 "dec " SRC_REG
"\n\t"
3066 "dec " DEST_REG
"\n\t"
3067 "movb (" SRC_REG
"), %al\n\t"
3068 "movb %al, (" DEST_REG
")\n\t"
3070 "shr $1, " LEN_REG
"\n\t"
3072 "movw -2(" SRC_REG
"), %ax\n\t"
3073 "movw %ax, -2(" DEST_REG
")\n\t"
3083#ifdef WORDS_BIGENDIAN
3084# define MERGE(w1, sh1, w2, sh2) ((w1 << sh1) | (w2 >> sh2))
3086# define MERGE(w1, sh1, w2, sh2) ((w1 >> sh1) | (w2 << sh2))
3090#if defined(__x86_64__) && !defined(__arm64ec__)
3091 return sse2_memmove(
dst,
src,
n);
3093 unsigned char *
d =
dst;
3094 const unsigned char *
s =
src;
3099 return sse2_memmove(
dst,
src,
n);
3104 if ((
size_t)
dst - (
size_t)
src >=
n)
3106 for (; (
size_t)
d %
sizeof(
size_t) &&
n;
n--) *
d++ = *
s++;
3108 sh1 = 8 * ((
size_t)
s %
sizeof(
size_t));
3111 while (
n >=
sizeof(
size_t))
3113 *(
size_t*)
d = *(
size_t*)
s;
3119 else if (
n >= 2 *
sizeof(
size_t))
3121 int sh2 = 8 *
sizeof(
size_t) - sh1;
3130 *(
size_t*)
d =
MERGE(
x, sh1,
y, sh2);
3135 *(
size_t*)
d =
MERGE(
y, sh1,
x, sh2);
3139 }
while (
n >= 2 *
sizeof(
size_t));
3142 while (
n--) *
d++ = *
s++;
3150 for (; (
size_t)
d %
sizeof(
size_t) &&
n;
n--) *--
d = *--
s;
3152 sh1 = 8 * ((
size_t)
s %
sizeof(
size_t));
3155 while (
n >=
sizeof(
size_t))
3159 *(
size_t*)
d = *(
size_t*)
s;
3163 else if (
n >= 2 *
sizeof(
size_t))
3165 int sh2 = 8 *
sizeof(
size_t) - sh1;
3175 *(
size_t*)
d =
MERGE(
y, sh1,
x, sh2);
3180 *(
size_t*)
d =
MERGE(
x, sh1,
y, sh2);
3183 }
while (
n >= 2 *
sizeof(
size_t));
3186 while (
n--) *--
d = *--
s;
3207 unsigned char *
d =
dst;
3208 const unsigned char *
s =
src;
3209 while (
n--)
if ((*
d++ = *
s++) == (
unsigned char)
c)
return d;
3216 unsigned char *
end =
d +
n;
3237 unsigned char *
d = (
unsigned char *)
dst;
3242 *(unaligned_ui64 *)(
d + 0) =
v;
3243 *(unaligned_ui64 *)(
d + 8) =
v;
3244 *(unaligned_ui64 *)(
d +
n - 16) =
v;
3245 *(unaligned_ui64 *)(
d +
n - 8) =
v;
3246 if (
n <= 32)
return dst;
3247 *(unaligned_ui64 *)(
d + 16) =
v;
3248 *(unaligned_ui64 *)(
d + 24) =
v;
3249 *(unaligned_ui64 *)(
d +
n - 32) =
v;
3250 *(unaligned_ui64 *)(
d +
n - 24) =
v;
3251 if (
n <= 64)
return dst;
3253 n = (
n -
a) & ~0x1f;
3259 *(unaligned_ui64 *)
d =
v;
3260 *(unaligned_ui64 *)(
d +
n - 8) =
v;
3265 *(unaligned_ui32 *)
d =
v;
3266 *(unaligned_ui32 *)(
d +
n - 4) =
v;
3271 *(unaligned_ui16 *)
d =
v;
3272 *(unaligned_ui16 *)(
d +
n - 2) =
v;
3290 if (*
str == (
char)
c)
return (
char*)
str;
3301 do {
if (*
str == (
char)
c)
ret = (
char*)
str; }
while (*
str++);
3310 const unsigned char *
p =
ptr;
3322 if ((
unsigned char)*
str1 > (
unsigned char)*
str2)
return 1;
3323 if ((
unsigned char)*
str1 < (
unsigned char)*
str2)
return -1;
3335#if defined(_WIN64) || defined(_UCRT) || _MSVCR_VER == 70 || _MSVCR_VER == 71 || _MSVCR_VER >= 110
3336 if ((
unsigned char)*
str1 > (
unsigned char)*
str2)
return 1;
3337 if ((
unsigned char)*
str1 < (
unsigned char)*
str2)
return -1;
3371 if ((c1 = *
s1++) >=
'A' && c1 <=
'Z')
3373 if ((c2 = *
s2++) >=
'A' && c2 <=
'Z')
3375 }
while(--
count && c1 && c1==c2);
3377 return (
unsigned char)c1 - (
unsigned char)c2;
3383 }
while(--
count && c1 && c1==c2);
3417 size_t i,
j,
len, needle_len, lps_len;
3420 needle_len =
strlen(needle);
3421 if (!needle_len)
return (
char*)
haystack;
3429 if (needle[
i] == needle[
len]) lps[
i++] = ++
len;
3443 if (
j == needle_len)
return (
char*)
haystack +
i -
j;
3463#if _MSVCR_VER == 0 || _MSVCR_VER >= 80
3498 memset(rejects, 0,
sizeof(rejects));
3508 while(*
p && !rejects[(
unsigned char)*
p])
p++;
3538#if _MSVCR_VER >= 140
3557 return (
char *)(
str2 - 1);
3565 return (
char *)(
str + 1);
3573 return (
unsigned char)
str[0];
3581 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)
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 I10_OUTPUT_MAX_PREC
#define _strninc(_pc, _sz)
#define _strdec(_cpc1, _cpc2)
#define _strspnp(_cpc1, _cpc2)
#define memcpy(s1, s2, n)
#define memmove(s1, s2, n)
#define strcpy_s(d, l, s)
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