mach: Fix incoherency between perror and strerror

08d2024b41 ("string: Simplify strerror_r") inadvertently made
__strerror_r print unknown error system in decimal while the original
code was printing it in hexadecimal. perror was kept printing in
hexadecimal in 725eeb4af1 ("string: Use tls-internal on strerror_l"),
let us keep both coherent.

This also fixes a duplicate ':'

Spotted by the libunistring testsuite test-perror2
This commit is contained in:
Samuel Thibault 2022-08-27 13:52:46 +02:00
parent d0e357ff45
commit 03ad444e8e

View File

@ -40,7 +40,7 @@ __strerror_r (int errnum, char *buf, size_t buflen)
if (system > err_max_system || ! __mach_error_systems[system].bad_sub) if (system > err_max_system || ! __mach_error_systems[system].bad_sub)
{ {
__snprintf (buf, buflen, "%s: %d", _("Error in unknown error system: "), __snprintf (buf, buflen, "%s%X", _("Error in unknown error system: "),
errnum); errnum);
return buf; return buf;
} }