diff --git a/Tests/LibC/TestScanf.cpp b/Tests/LibC/TestScanf.cpp index dee99b6611..4291276a4d 100644 --- a/Tests/LibC/TestScanf.cpp +++ b/Tests/LibC/TestScanf.cpp @@ -153,6 +153,9 @@ const TestSuite test_suites[] { { "%x", "0x519", 1, 1, { unsignedarg0 }, { to_value_t(0x519) } }, { "%x", "0x51g", 1, 1, { unsignedarg0 }, { to_value_t(0x51u) } }, { "%06x", "0xabcdef", 1, 1, { unsignedarg0 }, { to_value_t(0xabcdefu) } }, + { "%X", "0xCAFEBABE", 1, 1, { unsignedarg0 }, { to_value_t(0xcafebabe) } }, + { "%04X", "0x5E4E", 1, 1, { unsignedarg0 }, { to_value_t(0x5e4e) } }, + { "%X", "0x51Eg", 1, 1, { unsignedarg0 }, { to_value_t(0x51e) } }, { "\"%%%d#", "\"%42#", 1, 1, { intarg0 }, { to_value_t(42) } }, { " %d", "42", 1, 1, { intarg0 }, { to_value_t(42) } }, { "%d", " 42", 1, 1, { intarg0 }, { to_value_t(42) } }, diff --git a/Userland/Libraries/LibC/scanf.cpp b/Userland/Libraries/LibC/scanf.cpp index d66043aa10..f760922de3 100644 --- a/Userland/Libraries/LibC/scanf.cpp +++ b/Userland/Libraries/LibC/scanf.cpp @@ -488,6 +488,7 @@ extern "C" int vsscanf(const char* input, const char* format, va_list ap) conversion_specifier = ConversionSpecifier::Unsigned; break; case 'x': + case 'X': format_lexer.consume(); conversion_specifier = ConversionSpecifier::Hex; break;