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
diff --git a/libc/bionic/strtoll_l.cpp b/libc/bionic/strtoll_l.cpp
index 05fb760..47b126e 100644
--- a/libc/bionic/strtoll_l.cpp
+++ b/libc/bionic/strtoll_l.cpp
@@ -28,6 +28,6 @@
#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);
}
diff --git a/libc/bionic/strtoull_l.cpp b/libc/bionic/strtoull_l.cpp
index ba0bc6a..398ba0e 100644
--- a/libc/bionic/strtoull_l.cpp
+++ b/libc/bionic/strtoull_l.cpp
@@ -28,7 +28,7 @@
#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) {
return strtoull(nptr, endptr, base);
}
diff --git a/libc/bionic/wchar.cpp b/libc/bionic/wchar.cpp
index 524ba07..e0879b9 100644
--- a/libc/bionic/wchar.cpp
+++ b/libc/bionic/wchar.cpp
@@ -230,13 +230,13 @@
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) {
return wcstoll(nptr, endptr, base);
}
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);
}