mirror of
https://github.com/opnsense/src.git
synced 2026-02-19 02:30:08 -05:00
libc printf_render_errno(): do not use strerror()
(cherry picked from commit aa66995b4c804cbb579f71645d97fe282a798bfc)
This commit is contained in:
parent
0451d4287a
commit
09bcfbd1ae
1 changed files with 4 additions and 3 deletions
|
|
@ -27,6 +27,7 @@
|
|||
*/
|
||||
|
||||
#include <namespace.h>
|
||||
#include <limits.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
|
@ -53,13 +54,13 @@ __printf_render_errno(struct __printf_io *io, const struct printf_info *pi
|
|||
{
|
||||
int ret, error;
|
||||
char buf[64];
|
||||
const char *p;
|
||||
char errnomsg[NL_TEXTMAX];
|
||||
|
||||
ret = 0;
|
||||
error = *((const int *)arg[0]);
|
||||
if (error >= 0 && error < __hidden_sys_nerr) {
|
||||
p = strerror(error);
|
||||
return (__printf_out(io, pi, p, strlen(p)));
|
||||
strerror_r(error, errnomsg, sizeof(errnomsg));
|
||||
return (__printf_out(io, pi, errnomsg, strlen(errnomsg)));
|
||||
}
|
||||
sprintf(buf, "errno=%d/0x%x", error, error);
|
||||
ret += __printf_out(io, pi, buf, strlen(buf));
|
||||
|
|
|
|||
Loading…
Reference in a new issue