xref: /relibc/tests/stdlib/strtol.c (revision ed19381547d66b76981ea1e4ff942c5a4da45ab7)
1 #include <errno.h>
2 #include <stdlib.h>
3 #include <stdio.h>
4 
5 #include "test_helpers.h"
6 
7 int main(void) {
8     printf("%ld\n", strtol("         -42", NULL, 0));
9     printf("%ld\n", strtol(" +555", NULL, 0));
10     printf("%ld\n", strtol("   1234567890    ", NULL, 0));
11 
12     printf("%ld\n", strtol("         -42", NULL, 10));
13     printf("%ld\n", strtol(" +555", NULL, 10));
14     printf("%ld\n", strtol("   1234567890    ", NULL, 10));
15 
16     printf("%lx\n", strtol("  0x38Acfg", NULL, 0));
17     printf("%lx\n", strtol("0Xabcdef12", NULL, 16));
18     printf("%lx\n", strtol("cafebeef", NULL, 16));
19 
20     printf("%lo\n", strtol("  073189", NULL, 0));
21     printf("%lo\n", strtol("     073189", NULL, 8));
22 
23     printf("%lo\n", strtol("  0b", NULL, 8));
24     if(errno != 0) {
25         printf("errno is not 0 (%d), something went wrong\n", errno);
26     }
27     printf("%lo\n", strtol("  0b", NULL, 0));
28     if(errno != 0) {
29         printf("errno is not 0 (%d), something went wrong\n", errno);
30     }
31 }
32