49 lines
1.6 KiB
Diff
49 lines
1.6 KiB
Diff
[PATCH]: Add strtouq alias (to strtoul) for 64bit
|
|
|
|
The strtouq alias was only available on 32bit, breaking compilation of stuff
|
|
using strtouq on 64bit machines. At the same time use the correct return
|
|
type (u_quad_t).
|
|
|
|
Signed-of-by: Peter Korsgaard <jacmet@sunsite.dk>
|
|
---
|
|
include/stdlib.h | 4 +++-
|
|
libc/stdlib/stdlib.c | 1 +
|
|
2 files changed, 4 insertions(+), 1 deletion(-)
|
|
|
|
Index: uClibc-0.9.30.1/libc/stdlib/stdlib.c
|
|
===================================================================
|
|
--- uClibc-0.9.30.1.orig/libc/stdlib/stdlib.c
|
|
+++ uClibc-0.9.30.1/libc/stdlib/stdlib.c
|
|
@@ -401,6 +401,9 @@
|
|
libc_hidden_proto(__XL_NPP(strtoull))
|
|
strong_alias(__XL_NPP(strtoul),__XL_NPP(strtoull))
|
|
libc_hidden_def(__XL_NPP(strtoull))
|
|
+#if !defined(L_strtoul_l)
|
|
+strong_alias(strtoul,strtouq)
|
|
+#endif
|
|
#endif
|
|
|
|
|
|
Index: uClibc-0.9.30.1/include/stdlib.h
|
|
===================================================================
|
|
--- uClibc-0.9.30.1.orig/include/stdlib.h
|
|
+++ uClibc-0.9.30.1/include/stdlib.h
|
|
@@ -203,6 +203,8 @@
|
|
__END_NAMESPACE_STD
|
|
|
|
#ifdef __USE_BSD
|
|
+#include <sys/types.h> /* for u_quad_t */
|
|
+
|
|
/* Convert a string to a quadword integer. */
|
|
__extension__
|
|
extern long long int strtoq (__const char *__restrict __nptr,
|
|
@@ -210,7 +212,7 @@
|
|
__THROW __nonnull ((1)) __wur;
|
|
/* Convert a string to an unsigned quadword integer. */
|
|
__extension__
|
|
-extern unsigned long long int strtouq (__const char *__restrict __nptr,
|
|
+extern u_quad_t strtouq (__const char *__restrict __nptr,
|
|
char **__restrict __endptr, int __base)
|
|
__THROW __nonnull ((1)) __wur;
|
|
#endif /* GCC and use BSD. */
|