| [10005] | 1 | #ifdef __WIN32OS2__
 | 
|---|
 | 2 | #include <winbase.h>
 | 
|---|
 | 3 | #include <stdio.h>
 | 
|---|
 | 4 | #include <stdlib.h>
 | 
|---|
 | 5 | #include <math.h>
 | 
|---|
 | 6 | #include <ctype.h>
 | 
|---|
 | 7 | #include <unistd.h>
 | 
|---|
 | 8 | #include <string.h>
 | 
|---|
 | 9 | #endif
 | 
|---|
 | 10 | 
 | 
|---|
 | 11 | #include "wine/unicode.h"
 | 
|---|
 | 12 | #include "msvcrt.h"
 | 
|---|
 | 13 | 
 | 
|---|
 | 14 | #include "msvcrt/stdlib.h"
 | 
|---|
 | 15 | 
 | 
|---|
 | 16 | 
 | 
|---|
 | 17 | #include "wine/debug.h"
 | 
|---|
 | 18 | 
 | 
|---|
 | 19 | char *dbgemx__gcvt (double a, int b, char * c)
 | 
|---|
 | 20 | { 
 | 
|---|
 | 21 |  char *ret;
 | 
|---|
 | 22 |  dprintf(("MSVCRT: _gcvt %f, %d %s", a, b, c));
 | 
|---|
 | 23 |  ret = emx__gcvt(a, b, c);
 | 
|---|
 | 24 |  dprintf(("MSVCRT: dbgemx_gcvt returned %s", ret));
 | 
|---|
 | 25 |  return ret; 
 | 
|---|
 | 26 | }
 | 
|---|
 | 27 | 
 | 
|---|
 | 28 | double _emx__hypot (double, double);
 | 
|---|
 | 29 | 
 | 
|---|
 | 30 | double _dbgemx__hypot (double a, double b)
 | 
|---|
 | 31 | {
 | 
|---|
 | 32 |  double ret;
 | 
|---|
 | 33 |  dprintf(("MSVCRT: _hypot %f, %f", a, b));
 | 
|---|
 | 34 |  ret = _emx__hypot(a, b);
 | 
|---|
 | 35 |  dprintf(("MSVCRT: _hypot returned %f", ret));
 | 
|---|
 | 36 |  return ret; 
 | 
|---|
 | 37 | }
 | 
|---|
 | 38 | 
 | 
|---|
 | 39 | char *dbgemx__itoa(int a,char *b, int c)
 | 
|---|
 | 40 | {
 | 
|---|
 | 41 |  char *ret;
 | 
|---|
 | 42 |  dprintf(("MSVCRT: _itoa %d, %s %d", a, b, c));
 | 
|---|
 | 43 |  ret =emx__itoa(a, b, c);
 | 
|---|
 | 44 |  dprintf(("MSVCRT: _itoa returned %s", ret));
 | 
|---|
 | 45 |  return ret; 
 | 
|---|
 | 46 | }
 | 
|---|
 | 47 | 
 | 
|---|
 | 48 | char *dbgemx__ltoa(long a,char *b, int c)
 | 
|---|
 | 49 | {
 | 
|---|
 | 50 |  char *ret;
 | 
|---|
 | 51 |  dprintf(("MSVCRT: _ltoa %d, %s %d", a, b, c));
 | 
|---|
 | 52 |  ret =emx__ltoa(a, b, c);
 | 
|---|
 | 53 |  dprintf(("MSVCRT: _ltoa returned %s", ret));
 | 
|---|
 | 54 |  return ret; 
 | 
|---|
 | 55 | }
 | 
|---|
 | 56 | 
 | 
|---|
 | 57 | char *dbgemx_strcpy (char * a, const char * b)
 | 
|---|
 | 58 | {
 | 
|---|
 | 59 |  char *ret;
 | 
|---|
 | 60 |  dprintf(("MSVCRT: strcpy %s, %s", a, b));
 | 
|---|
 | 61 |  ret =emx_strcpy(a, b);
 | 
|---|
 | 62 |  dprintf(("MSVCRT: strcpy returned %s", ret));
 | 
|---|
 | 63 |  return ret; 
 | 
|---|
 | 64 | }
 | 
|---|
 | 65 | 
 | 
|---|
 | 66 | char *dbgemx_strncpy (char * a, const char * b, size_t c)
 | 
|---|
 | 67 | {
 | 
|---|
 | 68 |  char *ret;
 | 
|---|
 | 69 |  dprintf(("MSVCRT: strncpy %p, %s, %d", a, b, c));
 | 
|---|
 | 70 |  ret =emx_strncpy(a, b, c);
 | 
|---|
 | 71 |  dprintf(("MSVCRT: strncpy returned %s", ret));
 | 
|---|
 | 72 |  return ret; 
 | 
|---|
 | 73 | }
 | 
|---|
 | 74 | 
 | 
|---|
 | 75 | char *dbgemx_strcat (char * a, const char * b)
 | 
|---|
 | 76 | {
 | 
|---|
 | 77 |  char *ret;
 | 
|---|
 | 78 |  dprintf(("MSVCRT: strcat %s, %s", a, b));
 | 
|---|
 | 79 |  ret =emx_strcat(a, b);
 | 
|---|
 | 80 |  dprintf(("MSVCRT: strcat returned %s", ret));
 | 
|---|
 | 81 |  return ret; 
 | 
|---|
 | 82 | }
 | 
|---|
 | 83 | 
 | 
|---|
 | 84 | char *dbgemx_strncat (char * a, const char * b, size_t c)
 | 
|---|
 | 85 | {
 | 
|---|
 | 86 |  char *ret;
 | 
|---|
 | 87 |  dprintf(("MSVCRT: strncat %s, %s, %d", a, b, c));
 | 
|---|
 | 88 |  ret =emx_strncat(a, b, c);
 | 
|---|
 | 89 |  dprintf(("MSVCRT: strncat returned %s", ret));
 | 
|---|
 | 90 |  return ret; 
 | 
|---|
 | 91 | }
 | 
|---|
 | 92 | 
 | 
|---|
 | 93 | char *dbgemx_strstr (const char * a, const char * b)
 | 
|---|
 | 94 | {
 | 
|---|
 | 95 |  char *ret;
 | 
|---|
 | 96 |  dprintf(("MSVCRT: strstr %s, %s", a, b));
 | 
|---|
 | 97 |  ret =emx_strstr(a, b);
 | 
|---|
 | 98 |  dprintf(("MSVCRT: strstr returned %s", ret));
 | 
|---|
 | 99 |  return ret; 
 | 
|---|
 | 100 | }
 | 
|---|
 | 101 | 
 | 
|---|
 | 102 | char *dbgemx__strupr (char * a)
 | 
|---|
 | 103 | {
 | 
|---|
 | 104 |  char *ret;
 | 
|---|
 | 105 |  dprintf(("MSVCRT: strupr %s", a));
 | 
|---|
 | 106 |  ret =emx__strupr(a);
 | 
|---|
 | 107 |  dprintf(("MSVCRT: strupr returned %s", ret));
 | 
|---|
 | 108 |  return ret; 
 | 
|---|
 | 109 | }
 | 
|---|
 | 110 | 
 | 
|---|
 | 111 | char *dbgemx__strlwr (char * a)
 | 
|---|
 | 112 | {
 | 
|---|
 | 113 |  char *ret;
 | 
|---|
 | 114 |  dprintf(("MSVCRT: strlwr %s", a));
 | 
|---|
 | 115 |  ret =emx__strlwr(a);
 | 
|---|
 | 116 |  dprintf(("MSVCRT: strlwr returned %s", ret));
 | 
|---|
 | 117 |  return ret; 
 | 
|---|
 | 118 | }
 | 
|---|
 | 119 | 
 | 
|---|
 | 120 | void *dbgemx__memccpy (void * a, const void *b, int c, size_t d)
 | 
|---|
 | 121 | {
 | 
|---|
 | 122 |  void *ret;
 | 
|---|
 | 123 |  dprintf(("MSVCRT: _memccpy %p %p %d %d", a, b, c, d));
 | 
|---|
 | 124 |  ret =emx__memccpy(a, b, c, d);
 | 
|---|
 | 125 |  dprintf(("MSVCRT: _memccpy returned %p", ret));
 | 
|---|
 | 126 |  return ret; 
 | 
|---|
 | 127 | }
 | 
|---|
 | 128 | 
 | 
|---|
 | 129 | void *dbgemx_bsearch (const void * a, const void *b, size_t c, size_t d,
 | 
|---|
 | 130 |     int (*e)(const void *, const void *))
 | 
|---|
 | 131 | {
 | 
|---|
 | 132 |  void *ret;
 | 
|---|
 | 133 |  dprintf(("MSVCRT: bsearch %p %p %d %d %p", a, b, c, d, e));
 | 
|---|
 | 134 |  ret = bsearch(a, b, c, d, e);
 | 
|---|
 | 135 |  dprintf(("MSVCRT: bsearch returned %p", ret));
 | 
|---|
 | 136 |  return ret; 
 | 
|---|
 | 137 | }
 | 
|---|
 | 138 | 
 | 
|---|
 | 139 | void dbgemx_qsort (void *a, size_t b, size_t c,
 | 
|---|
 | 140 |     int (*d)(__const__ void *, __const__ void *))
 | 
|---|
 | 141 | {
 | 
|---|
 | 142 |  dprintf(("MSVCRT: qsort %p %d %d %p", a, b, c, d));
 | 
|---|
 | 143 |  qsort(a, b, c, d);
 | 
|---|
 | 144 | }
 | 
|---|
 | 145 | 
 | 
|---|
 | 146 | int dbgemx_vsprintf (char * a, const char * b, va_list c)
 | 
|---|
 | 147 | {
 | 
|---|
 | 148 |  int ret;
 | 
|---|
 | 149 |  dprintf(("MSVCRT: vsprintf %s %s %p", a, b, c));
 | 
|---|
 | 150 |  ret = vsprintf(a, b, c);
 | 
|---|
 | 151 |  dprintf(("MSVCRT: vsprintf returned %d", ret));
 | 
|---|
 | 152 |  return ret; 
 | 
|---|
 | 153 | }
 | 
|---|
 | 154 | 
 | 
|---|
 | 155 | int dbgemx__vsnprintf (char * a, size_t b, const char * c, va_list d)
 | 
|---|
 | 156 | {
 | 
|---|
 | 157 |  int ret;
 | 
|---|
 | 158 |  dprintf(("MSVCRT: _vsnprintf %p %d %s %p", a, b, c, d));
 | 
|---|
 | 159 |  ret = _vsnprintf(a, b, c, d);
 | 
|---|
 | 160 |  dprintf(("MSVCRT: _vsnprintf returned %d", ret));
 | 
|---|
 | 161 |  return ret; 
 | 
|---|
 | 162 | }
 | 
|---|
 | 163 | 
 | 
|---|
 | 164 | char *dbgemx__ultoa (unsigned long a, char * b, int c)
 | 
|---|
 | 165 | {
 | 
|---|
 | 166 |  char *ret;
 | 
|---|
 | 167 |  dprintf(("MSVCRT: _ultoa %ld %p %d", a, b, c));
 | 
|---|
 | 168 |  ret =emx__ultoa(a, b, c);
 | 
|---|
 | 169 |  dprintf(("MSVCRT: _ultoa returned %s", ret));
 | 
|---|
 | 170 |  return ret; 
 | 
|---|
 | 171 | }
 | 
|---|
 | 172 | 
 | 
|---|
 | 173 | double dbgemx_floor (double a)
 | 
|---|
 | 174 | {
 | 
|---|
 | 175 |  double ret;
 | 
|---|
 | 176 |  dprintf(("MSVCRT: floor %f", a));
 | 
|---|
 | 177 |  ret = floor(a);
 | 
|---|
 | 178 |  dprintf(("MSVCRT: floor returned %f", ret));
 | 
|---|
 | 179 |  return ret;
 | 
|---|
 | 180 | }
 | 
|---|
 | 181 | 
 | 
|---|
 | 182 | int dbgemx_atoi (const char * a)
 | 
|---|
 | 183 | {
 | 
|---|
 | 184 |  int ret;
 | 
|---|
 | 185 |  dprintf(("MSVCRT: atoi %s", a));
 | 
|---|
 | 186 |  ret = atoi(a);
 | 
|---|
 | 187 |  dprintf(("MSVCRT: atoi returned %d", ret));
 | 
|---|
 | 188 |  return ret; 
 | 
|---|
 | 189 | }
 | 
|---|
 | 190 | 
 | 
|---|
 | 191 | int dbgemx_atol (const char * a)
 | 
|---|
 | 192 | {
 | 
|---|
 | 193 |  long ret;
 | 
|---|
 | 194 |  dprintf(("MSVCRT: atol %s", a));
 | 
|---|
 | 195 |  ret = atol(a);
 | 
|---|
 | 196 |  dprintf(("MSVCRT: atol returned %d", ret));
 | 
|---|
 | 197 |  return ret; 
 | 
|---|
 | 198 | }
 | 
|---|
 | 199 | 
 | 
|---|
 | 200 | double dbgemx_fabs (double a)
 | 
|---|
 | 201 | {
 | 
|---|
 | 202 |  double ret;
 | 
|---|
 | 203 |  dprintf(("MSVCRT: fabs %f", a));
 | 
|---|
 | 204 |  ret = fabs(a);
 | 
|---|
 | 205 |  dprintf(("MSVCRT: fabs returned %f", ret));
 | 
|---|
 | 206 |  return ret;
 | 
|---|
 | 207 | }
 | 
|---|
 | 208 | 
 | 
|---|
 | 209 | int dbgemx__stricmp (const char *a, const char *b)
 | 
|---|
 | 210 | {
 | 
|---|
 | 211 |  int ret;
 | 
|---|
 | 212 |  dprintf(("MSVCRT: _stricmp %s, %s", a, b));
 | 
|---|
 | 213 |  ret =emx__stricmp(a, b);
 | 
|---|
 | 214 |  dprintf(("MSVCRT: stricmp returned %d", ret));
 | 
|---|
 | 215 |  return ret; 
 | 
|---|
 | 216 | }
 | 
|---|
 | 217 | 
 | 
|---|
 | 218 | int dbgemx__strnicmp (const char *a, const char *b, size_t c)
 | 
|---|
 | 219 | {
 | 
|---|
 | 220 |  int ret;
 | 
|---|
 | 221 |  dprintf(("MSVCRT: _strnicmp %s, %s, %d", a, b, c));
 | 
|---|
 | 222 |  ret =emx__strnicmp(a, b, c);
 | 
|---|
 | 223 |  dprintf(("MSVCRT: _strnicmp returned %d", ret));
 | 
|---|
 | 224 |  return ret; 
 | 
|---|
 | 225 | }
 | 
|---|
 | 226 | 
 | 
|---|
 | 227 | char *dbgemx_strchr (const char *a, int b)
 | 
|---|
 | 228 | {
 | 
|---|
 | 229 |  char *ret;
 | 
|---|
 | 230 |  dprintf(("MSVCRT: strchr %a, %d", a, b));
 | 
|---|
 | 231 |  ret =emx_strchr(a, b);
 | 
|---|
 | 232 |  dprintf(("MSVCRT: strchr returned %s", ret));
 | 
|---|
 | 233 |  return ret; 
 | 
|---|
 | 234 | }
 | 
|---|
 | 235 | 
 | 
|---|
 | 236 | 
 | 
|---|
 | 237 | int dbgemx_strcmp (const char *a, const char *b)
 | 
|---|
 | 238 | {
 | 
|---|
 | 239 |  int ret;
 | 
|---|
 | 240 |  dprintf(("MSVCRT: strcmp %s, %s", a, b));
 | 
|---|
 | 241 |  ret =emx_strcmp(a, b);
 | 
|---|
 | 242 |  dprintf(("MSVCRT: strcmp returned %d", ret));
 | 
|---|
 | 243 |  return ret; 
 | 
|---|
 | 244 | }
 | 
|---|