| [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. */ |