Merge branch 'strto-detect-endptr' into 'master'
Fix strtol/ul endptr with detected base See merge request redox-os/relibc!656
This commit is contained in:
@@ -1,13 +1,26 @@
|
||||
-42
|
||||
endptr ""
|
||||
555
|
||||
endptr ""
|
||||
1234567890
|
||||
endptr " "
|
||||
-42
|
||||
endptr ""
|
||||
555
|
||||
endptr ""
|
||||
1234567890
|
||||
endptr " "
|
||||
38acf
|
||||
endptr "g"
|
||||
abcdef12
|
||||
endptr ""
|
||||
cafebeef
|
||||
endptr ""
|
||||
731
|
||||
endptr "89"
|
||||
731
|
||||
endptr "89"
|
||||
0
|
||||
endptr "b"
|
||||
0
|
||||
endptr "b"
|
||||
|
||||
@@ -1,12 +1,26 @@
|
||||
-42
|
||||
endptr ""
|
||||
555
|
||||
endptr ""
|
||||
1234567890
|
||||
endptr " "
|
||||
-42
|
||||
endptr ""
|
||||
555
|
||||
endptr ""
|
||||
1234567890
|
||||
endptr " "
|
||||
38acf
|
||||
endptr "g"
|
||||
abcdef12
|
||||
endptr ""
|
||||
21000004
|
||||
endptr ""
|
||||
731
|
||||
endptr "89"
|
||||
731
|
||||
endptr "89"
|
||||
0
|
||||
endptr "b"
|
||||
0
|
||||
endptr "b"
|
||||
|
||||
@@ -1,13 +1,26 @@
|
||||
-42
|
||||
endptr ""
|
||||
555
|
||||
endptr ""
|
||||
1234567890
|
||||
endptr " "
|
||||
-42
|
||||
endptr ""
|
||||
555
|
||||
endptr ""
|
||||
1234567890
|
||||
endptr " "
|
||||
38acf
|
||||
endptr "g"
|
||||
abcdef12
|
||||
endptr ""
|
||||
cafebeef
|
||||
endptr ""
|
||||
731
|
||||
endptr "89"
|
||||
731
|
||||
endptr "89"
|
||||
0
|
||||
endptr "b"
|
||||
0
|
||||
endptr "b"
|
||||
|
||||
@@ -1,12 +1,26 @@
|
||||
-42
|
||||
endptr ""
|
||||
555
|
||||
endptr ""
|
||||
1234567890
|
||||
endptr " "
|
||||
-42
|
||||
endptr ""
|
||||
555
|
||||
endptr ""
|
||||
1234567890
|
||||
endptr " "
|
||||
38acf
|
||||
endptr "g"
|
||||
abcdef12
|
||||
endptr ""
|
||||
21000004
|
||||
endptr ""
|
||||
731
|
||||
endptr "89"
|
||||
731
|
||||
endptr "89"
|
||||
0
|
||||
endptr "b"
|
||||
0
|
||||
endptr "b"
|
||||
|
||||
+28
-13
@@ -5,27 +5,42 @@
|
||||
#include "test_helpers.h"
|
||||
|
||||
int main(void) {
|
||||
printf("%ld\n", strtol(" -42", NULL, 0));
|
||||
printf("%ld\n", strtol(" +555", NULL, 0));
|
||||
printf("%ld\n", strtol(" 1234567890 ", NULL, 0));
|
||||
char *endptr;
|
||||
|
||||
printf("%ld\n", strtol(" -42", NULL, 10));
|
||||
printf("%ld\n", strtol(" +555", NULL, 10));
|
||||
printf("%ld\n", strtol(" 1234567890 ", NULL, 10));
|
||||
printf("%ld\n", strtol(" -42", &endptr, 0));
|
||||
printf("endptr \"%s\"\n", endptr);
|
||||
printf("%ld\n", strtol(" +555", &endptr, 0));
|
||||
printf("endptr \"%s\"\n", endptr);
|
||||
printf("%ld\n", strtol(" 1234567890 ", &endptr, 0));
|
||||
printf("endptr \"%s\"\n", endptr);
|
||||
|
||||
printf("%lx\n", strtol(" 0x38Acfg", NULL, 0));
|
||||
printf("%lx\n", strtol("0Xabcdef12", NULL, 16));
|
||||
printf("%lx\n", strtol("cafebeef", NULL, 16));
|
||||
printf("%ld\n", strtol(" -42", &endptr, 10));
|
||||
printf("endptr \"%s\"\n", endptr);
|
||||
printf("%ld\n", strtol(" +555", &endptr, 10));
|
||||
printf("endptr \"%s\"\n", endptr);
|
||||
printf("%ld\n", strtol(" 1234567890 ", &endptr, 10));
|
||||
printf("endptr \"%s\"\n", endptr);
|
||||
|
||||
printf("%lo\n", strtol(" 073189", NULL, 0));
|
||||
printf("%lo\n", strtol(" 073189", NULL, 8));
|
||||
printf("%lx\n", strtol(" 0x38Acfg", &endptr, 0));
|
||||
printf("endptr \"%s\"\n", endptr);
|
||||
printf("%lx\n", strtol("0Xabcdef12", &endptr, 16));
|
||||
printf("endptr \"%s\"\n", endptr);
|
||||
printf("%lx\n", strtol("cafebeef", &endptr, 16));
|
||||
printf("endptr \"%s\"\n", endptr);
|
||||
|
||||
printf("%lo\n", strtol(" 0b", NULL, 8));
|
||||
printf("%lo\n", strtol(" 073189", &endptr, 0));
|
||||
printf("endptr \"%s\"\n", endptr);
|
||||
printf("%lo\n", strtol(" 073189", &endptr, 8));
|
||||
printf("endptr \"%s\"\n", endptr);
|
||||
|
||||
printf("%lo\n", strtol(" 0b", &endptr, 8));
|
||||
if(errno != 0) {
|
||||
printf("errno is not 0 (%d), something went wrong\n", errno);
|
||||
}
|
||||
printf("%lo\n", strtol(" 0b", NULL, 0));
|
||||
printf("endptr \"%s\"\n", endptr);
|
||||
printf("%lo\n", strtol(" 0b", &endptr, 0));
|
||||
if(errno != 0) {
|
||||
printf("errno is not 0 (%d), something went wrong\n", errno);
|
||||
}
|
||||
printf("endptr \"%s\"\n", endptr);
|
||||
}
|
||||
|
||||
+27
-11
@@ -5,26 +5,42 @@
|
||||
#include "test_helpers.h"
|
||||
|
||||
int main(void) {
|
||||
printf("%ld\n", strtoul(" -42", NULL, 0));
|
||||
printf("%ld\n", strtoul(" +555", NULL, 0));
|
||||
printf("%ld\n", strtoul(" 1234567890 ", NULL, 0));
|
||||
char *endptr;
|
||||
|
||||
printf("%ld\n", strtoul(" -42", NULL, 10));
|
||||
printf("%ld\n", strtoul(" +555", NULL, 10));
|
||||
printf("%ld\n", strtoul(" 1234567890 ", NULL, 10));
|
||||
printf("%ld\n", strtoul(" -42", &endptr, 0));
|
||||
printf("endptr \"%s\"\n", endptr);
|
||||
printf("%ld\n", strtoul(" +555", &endptr, 0));
|
||||
printf("endptr \"%s\"\n", endptr);
|
||||
printf("%ld\n", strtoul(" 1234567890 ", &endptr, 0));
|
||||
printf("endptr \"%s\"\n", endptr);
|
||||
|
||||
printf("%lx\n", strtoul(" 0x38Acfg", NULL, 0));
|
||||
printf("%lx\n", strtoul("0Xabcdef12", NULL, 16));
|
||||
printf("%ld\n", strtoul(" -42", &endptr, 10));
|
||||
printf("endptr \"%s\"\n", endptr);
|
||||
printf("%ld\n", strtoul(" +555", &endptr, 10));
|
||||
printf("endptr \"%s\"\n", endptr);
|
||||
printf("%ld\n", strtoul(" 1234567890 ", &endptr, 10));
|
||||
printf("endptr \"%s\"\n", endptr);
|
||||
|
||||
printf("%lo\n", strtoul(" 073189", NULL, 0));
|
||||
printf("%lo\n", strtoul(" 073189", NULL, 8));
|
||||
printf("%lx\n", strtoul(" 0x38Acfg", &endptr, 0));
|
||||
printf("endptr \"%s\"\n", endptr);
|
||||
printf("%lx\n", strtoul("0Xabcdef12", &endptr, 16));
|
||||
printf("endptr \"%s\"\n", endptr);
|
||||
printf("%lx\n", strtoul("0x21000004", &endptr, 0));
|
||||
printf("endptr \"%s\"\n", endptr);
|
||||
|
||||
printf("%lo\n", strtoul(" 0b", NULL, 8));
|
||||
printf("%lo\n", strtoul(" 073189", &endptr, 0));
|
||||
printf("endptr \"%s\"\n", endptr);
|
||||
printf("%lo\n", strtoul(" 073189", &endptr, 8));
|
||||
printf("endptr \"%s\"\n", endptr);
|
||||
|
||||
printf("%lo\n", strtoul(" 0b", &endptr, 8));
|
||||
if(errno != 0) {
|
||||
printf("errno is not 0 (%d), something went wrong\n", errno);
|
||||
}
|
||||
printf("endptr \"%s\"\n", endptr);
|
||||
printf("%lo\n", strtoul(" 0b", NULL, 0));
|
||||
if(errno != 0) {
|
||||
printf("errno is not 0 (%d), something went wrong\n", errno);
|
||||
}
|
||||
printf("endptr \"%s\"\n", endptr);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user