Ver Fonte

Do not require prefix for hex

Jeremy Soller há 6 anos atrás
pai
commit
3c2121d4e0

+ 1 - 1
src/header/stdlib/mod.rs

@@ -756,7 +756,7 @@ pub unsafe fn convert_hex(s: *const c_char) -> Option<(c_ulong, isize, bool)> {
     {
         convert_integer(s.offset(2), 16).map(|(val, idx, overflow)| (val, idx + 2, overflow))
     } else {
-        None
+        convert_integer(s, 16).map(|(val, idx, overflow)| (val, idx, overflow))
     }
 }
 

+ 1 - 0
tests/expected/stdlib/strtol.stdout

@@ -6,6 +6,7 @@
 1234567890
 38acf
 abcdef12
+cafebeef
 731
 731
 0

+ 1 - 0
tests/stdlib/strtol.c

@@ -13,6 +13,7 @@ int main(int argc, char* argv[]) {
 
     printf("%lx\n", strtol("  0x38Acfg", NULL, 0));
     printf("%lx\n", strtol("0Xabcdef12", NULL, 16));
+    printf("%lx\n", strtol("cafebeef", NULL, 16));
 
     printf("%lo\n", strtol("  073189", NULL, 0));
     printf("%lo\n", strtol("     073189", NULL, 8));