mirror of
https://github.com/fluencelabs/musl
synced 2025-05-23 04:31:32 +00:00
28 lines
476 B
C
28 lines
476 B
C
|
#include <stdio.h>
|
||
|
#include <string.h>
|
||
|
#include <errno.h>
|
||
|
#include "stdio_impl.h"
|
||
|
|
||
|
void perror(const char *msg)
|
||
|
{
|
||
|
#if 1
|
||
|
if (msg) fprintf(stderr, "%s: %m\n", msg, strerror(errno));
|
||
|
else fprintf(stderr, "%m\n");
|
||
|
#else
|
||
|
FILE *f = stderr;
|
||
|
char *errstr = strerror(errno);
|
||
|
|
||
|
FLOCK(f);
|
||
|
|
||
|
if (msg) {
|
||
|
__fwritex(msg, strlen(msg), f);
|
||
|
__putc_unlocked(':', f);
|
||
|
__putc_unlocked(' ', f);
|
||
|
}
|
||
|
__fwritex(errstr, strlen(errstr), f);
|
||
|
__putc_unlocked('\n', f);
|
||
|
|
||
|
FUNLOCK(f);
|
||
|
#endif
|
||
|
}
|