diff options
author | Jeff Johnston <jjohnstn@redhat.com> | 2002-05-24 23:44:39 +0000 |
---|---|---|
committer | Jeff Johnston <jjohnstn@redhat.com> | 2002-05-24 23:44:39 +0000 |
commit | d29587b4789426217ace96c1dccb249e3682eaf8 (patch) | |
tree | 5eb3816b224b613db0274c8bccd57ef729261b68 /newlib/libc/string/strerror_r.c | |
parent | 8b3e5e2d6e5076769d90662db759ce5009c1ba9c (diff) | |
download | cygnal-d29587b4789426217ace96c1dccb249e3682eaf8.tar.gz cygnal-d29587b4789426217ace96c1dccb249e3682eaf8.tar.bz2 cygnal-d29587b4789426217ace96c1dccb249e3682eaf8.zip |
2002-05-24 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/string.h: Add strnlen and strerror_r prototypes.
* libc/string/Makefile.am: Add strnlen.c and strerror_r.c support.
* libc/string/Makefile.in: Regenerated.
* libc/string/strerror_r.c: New file.
* libc/string/strnlen.c: New file.
* libc/sys/linux/Makefile.am: Add rename.c.
* libc/sys/linux/Makefile.in: Regenerated.
* libc/sys/linux/rename.c: New file to override default rename.
Diffstat (limited to 'newlib/libc/string/strerror_r.c')
-rw-r--r-- | newlib/libc/string/strerror_r.c | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/newlib/libc/string/strerror_r.c b/newlib/libc/string/strerror_r.c new file mode 100644 index 000000000..956a1f485 --- /dev/null +++ b/newlib/libc/string/strerror_r.c @@ -0,0 +1,53 @@ +/* +FUNCTION + <<strerror_r>>---convert error number to string and copy to buffer + +INDEX + strerror_r + +ANSI_SYNOPSIS + #include <string.h> + char *strerror_r(int <[errnum]>, char *<[buffer]>, size_t <[n]>); + +TRAD_SYNOPSIS + #include <string.h> + char *strerror_r(<[errnum]>, <[buffer]>, <[n]>) + int <[errnum]>; + char *<[buffer]>; + size_t <[n]>; + +DESCRIPTION +<<strerror_r>> converts the error number <[errnum]> into a +string and copies the result into the supplied <[buffer]> for +a length up to <[n]>, including the NUL terminator. The value of +<[errnum]> is usually a copy of <<errno>>. If <<errnum>> is not a known +error number, the result is the empty string. + +See <<strerror>> for how strings are mapped to <<errnum>>. + +RETURNS +This function returns a pointer to a string. Your application must +not modify that string. + +PORTABILITY +<<strerror_r>> is a gnu extension. + +<<strerror_r>> requires no supporting OS subroutines. + +*/ + +#undef __STRICT_ANSI__ +#include <errno.h> +#include <string.h> + +char * +_DEFUN (strerror_r, (errnum, buffer, n), + int errnum _AND + char *buffer _AND + size_t n) +{ + char *error; + error = strerror (errnum); + + return strncpy (buffer, (const char *)error, n); +} |