diff options
author | Manuel Novoa III <mjn3@codepoet.org> | 2002-06-18 08:41:28 +0000 |
---|---|---|
committer | Manuel Novoa III <mjn3@codepoet.org> | 2002-06-18 08:41:28 +0000 |
commit | 5b0c2c6d870cc9f9f2eae32f4d71abc6f9348e20 (patch) | |
tree | 60d5b9ee265a8d359484c6dbb3d25da6f209718e /libc/sysdeps/linux/common/bits | |
parent | 6f1e6c22ab67fbb7b5642e142ac3c1f4d6968263 (diff) |
Fix perror() and printf("%m") to not call strerror(), as required by the
standards. Temporarily added a utility function to wrap Erik's strerror_r
so that "Unknown error xxx" strings can be generated for errno's which
cause strerror_r to fail. That utility function will eventually be merged
in with the strerror/strerror_r functions when I change over to optionallly
mmap'ing the system error strings to provide for lower mem comsumption on
non-MMU platforms, as well as locale-specific system error messages.
Diffstat (limited to 'libc/sysdeps/linux/common/bits')
-rw-r--r-- | libc/sysdeps/linux/common/bits/uClibc_stdio.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/common/bits/uClibc_stdio.h b/libc/sysdeps/linux/common/bits/uClibc_stdio.h index 83ca2fb04..1a559bd9c 100644 --- a/libc/sysdeps/linux/common/bits/uClibc_stdio.h +++ b/libc/sysdeps/linux/common/bits/uClibc_stdio.h @@ -438,6 +438,14 @@ typedef enum { __UIM_UPPER = 'A' - 10, } __UIM_CASE; +/* WARNING!!! While similar to the glibc strerror_r function, the + * following function is not the same. It expects "unknown" error + * strings will fit in the buffer passed. Also, the return value + * may not be == buf, as unknown strings are "right-justified" in + * the buf due to the way _int10stostr works. */ + +extern char *_stdio_strerror_r(int err, char *buf, size_t buflen); + /* Write a NULL-terminated list of "char *" args to file descriptor fd. * For an example of usage, see __assert.c. */ |