wcstoul.c 280 B

123456789101112131415
  1. #include <wchar.h>
  2. #include <stdlib.h>
  3. #include <inttypes.h>
  4. #include <errno.h>
  5. #include <limits.h>
  6. unsigned long wcstoul(const wchar_t *s, wchar_t **p, int base)
  7. {
  8. uintmax_t x = wcstoumax(s, p, base);
  9. if (x > ULONG_MAX) {
  10. errno = ERANGE;
  11. return ULONG_MAX;
  12. }
  13. return x;
  14. }