@@ -355,51 +355,61 @@ static bool swift_stringIsSignalingNaN(const char *nptr) {
355
355
static double swift_strtod_l (const char *nptr, char **endptr, locale_t loc) {
356
356
return strtod (nptr, endptr);
357
357
}
358
+ #elif defined(__ANDROID_API__) && __ANDROID_API__ < 26
359
+ static double swift_strtod_l (const char *nptr, char **endptr, locale_t loc) {
360
+ return strtod (nptr, endptr);
361
+ }
362
+ #elif defined(_WIN32)
363
+ static double swift_strtod_l (const char *nptr, char **endptr, locale_t loc) {
364
+ return _strtod_l (nptr, endptr, getCLocale ());
365
+ }
366
+ #endif
358
367
368
+ #if defined(__OpenBSD__)
369
+ static float swift_strtof_l (const char *nptr, char **endptr, locale_t loc) {
370
+ return strtof (nptr, endptr);
371
+ }
372
+ #elif defined(__ANDROID_API__) && __ANDROID_API__ < 26
359
373
static float swift_strtof_l (const char *nptr, char **endptr, locale_t loc) {
360
374
return strtof (nptr, endptr);
361
375
}
376
+ #elif defined(_WIN32)
377
+ static float swift_strtof_l (const char *nptr, char **endptr, locale_t loc) {
378
+ return _strtof_l (nptr, endptr, getCLocale ());
379
+ }
380
+ #endif
362
381
382
+ #if defined(__OpenBSD__)
363
383
static long double swift_strtold_l (const char *nptr, char **endptr,
364
384
locale_t loc) {
365
385
return strtold (nptr, endptr);
366
386
}
387
+ #elif defined(__ANDROID_API__) && __ANDROID_API__ < 21
388
+ static long double swift_strtold_l (const char *nptr, char **endptr,
389
+ locale_t loc) {
390
+ return strtod (nptr, endptr);
391
+ }
392
+ #elif defined(_WIN32)
393
+ static long double swift_strtold_l (const char *nptr, char **endptr,
394
+ locale_t loc) {
395
+ return _strtod_l (nptr, endptr, getCLocale ());
396
+ }
397
+ #endif
367
398
399
+ #if defined(__OpenBSD__) || defined(_WIN32)
368
400
#define strtod_l swift_strtod_l
369
401
#define strtof_l swift_strtof_l
370
402
#define strtold_l swift_strtold_l
371
403
#elif defined(__ANDROID__)
372
404
#if __ANDROID_API__ < 21 // Introduced in Android API 21 - L
373
- static inline long double swift_strtold_l (const char *nptr, char **endptr,
374
- locale_t ) {
375
- return strtod (nptr, endptr);
376
- }
377
405
#define strtold_l swift_strtold_l
378
406
#endif
379
407
380
408
#if __ANDROID_API__ < 26 // Introduced in Android API 26 - O
381
- static double swift_strtod_l (const char *nptr, char **endptr, locale_t loc) {
382
- return strtod (nptr, endptr);
383
- }
384
- static float swift_strtof_l (const char *nptr, char **endptr, locale_t loc) {
385
- return strtof (nptr, endptr);
386
- }
387
409
#define strtod_l swift_strtod_l
388
410
#define strtof_l swift_strtof_l
389
411
#endif
390
412
#elif defined(_WIN32)
391
- static double swift_strtod_l (const char *nptr, char **endptr, locale_t loc) {
392
- return _strtod_l (str, &end, getCLocale ());
393
- }
394
-
395
- static float swift_strtof_l (const char *nptr, char **endptr, locale_t loc) {
396
- return _strtof_l (str, &end, getCLocale ());
397
- }
398
-
399
- static long double swift_strtold_l (const char *nptr, char **endptr,
400
- locale_t loc) {
401
- return _strtod_l (str, &end, getCLocale ());
402
- }
403
413
#define strtod_l swift_strtod_l
404
414
#define strtof_l swift_strtof_l
405
415
#define strtold_l swift_strtold_l
0 commit comments