Fix incorrect parameter types for locale funcs.
strtoll(3), strtoull(3), wcstoll(3), and wcstoull(3) all take an _int_ as a base, not a size_t. This is an ABI compatibility issue. Bug: 17628622 Change-Id: I17f8eead34ce2112005899fc30162067573023ec (cherry picked from commit 3c5037f1b3b747e79d17a5f717d9f9c365132d33)
This commit is contained in:
parent
027d2717d0
commit
086bb382db
@ -28,6 +28,6 @@
|
|||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
long long strtoll_l(const char *nptr, char **endptr, size_t base, locale_t) {
|
long long strtoll_l(const char *nptr, char **endptr, int base, locale_t) {
|
||||||
return strtoll(nptr, endptr, base);
|
return strtoll(nptr, endptr, base);
|
||||||
}
|
}
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
unsigned long long strtoull_l(const char *nptr, char **endptr, size_t base,
|
unsigned long long strtoull_l(const char *nptr, char **endptr, int base,
|
||||||
locale_t) {
|
locale_t) {
|
||||||
return strtoull(nptr, endptr, base);
|
return strtoull(nptr, endptr, base);
|
||||||
}
|
}
|
||||||
|
@ -230,13 +230,13 @@ size_t wcsxfrm_l(wchar_t *dest, const wchar_t *src, size_t n, locale_t) {
|
|||||||
return wcsxfrm(dest, src, n);
|
return wcsxfrm(dest, src, n);
|
||||||
}
|
}
|
||||||
|
|
||||||
long long wcstoll_l(const wchar_t *nptr, wchar_t **endptr, size_t base,
|
long long wcstoll_l(const wchar_t *nptr, wchar_t **endptr, int base,
|
||||||
locale_t) {
|
locale_t) {
|
||||||
return wcstoll(nptr, endptr, base);
|
return wcstoll(nptr, endptr, base);
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned long long wcstoull_l(const wchar_t *nptr, wchar_t **endptr,
|
unsigned long long wcstoull_l(const wchar_t *nptr, wchar_t **endptr,
|
||||||
size_t base, locale_t) {
|
int base, locale_t) {
|
||||||
return wcstoull(nptr, endptr, base);
|
return wcstoull(nptr, endptr, base);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,8 +76,8 @@ extern float strtof(const char*, char**) __LIBC_ABI_PUBLIC__;
|
|||||||
extern long double strtold(const char*, char**) __LIBC_ABI_PUBLIC__;
|
extern long double strtold(const char*, char**) __LIBC_ABI_PUBLIC__;
|
||||||
|
|
||||||
extern long double strtold_l(const char *, char **, locale_t) __LIBC_ABI_PUBLIC__;
|
extern long double strtold_l(const char *, char **, locale_t) __LIBC_ABI_PUBLIC__;
|
||||||
extern long long strtoll_l(const char *, char **, size_t, locale_t) __LIBC_ABI_PUBLIC__;
|
extern long long strtoll_l(const char *, char **, int, locale_t) __LIBC_ABI_PUBLIC__;
|
||||||
extern unsigned long long strtoull_l(const char *, char **, size_t, locale_t) __LIBC_ABI_PUBLIC__;
|
extern unsigned long long strtoull_l(const char *, char **, int, locale_t) __LIBC_ABI_PUBLIC__;
|
||||||
|
|
||||||
extern int atoi(const char*) __purefunc;
|
extern int atoi(const char*) __purefunc;
|
||||||
extern long atol(const char*) __purefunc;
|
extern long atol(const char*) __purefunc;
|
||||||
|
@ -151,8 +151,8 @@ extern wchar_t *wmemset(wchar_t *, wchar_t, size_t);
|
|||||||
extern int wprintf(const wchar_t *, ...);
|
extern int wprintf(const wchar_t *, ...);
|
||||||
extern int wscanf(const wchar_t *, ...);
|
extern int wscanf(const wchar_t *, ...);
|
||||||
|
|
||||||
extern long long wcstoll_l(const wchar_t *, wchar_t **, size_t, locale_t);
|
extern long long wcstoll_l(const wchar_t *, wchar_t **, int, locale_t);
|
||||||
extern unsigned long long wcstoull_l(const wchar_t *, wchar_t **, size_t, locale_t);
|
extern unsigned long long wcstoull_l(const wchar_t *, wchar_t **, int, locale_t);
|
||||||
extern long double wcstold_l(const wchar_t *, wchar_t **, locale_t );
|
extern long double wcstold_l(const wchar_t *, wchar_t **, locale_t );
|
||||||
|
|
||||||
extern int wcscoll_l(const wchar_t *, const wchar_t *, locale_t);
|
extern int wcscoll_l(const wchar_t *, const wchar_t *, locale_t);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user