diff options
author | ache <ache@FreeBSD.org> | 2002-08-09 08:22:29 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 2002-08-09 08:22:29 +0000 |
commit | 9d73d0dd122e2ce7df338d16beff65b7bbbc42c5 (patch) | |
tree | ec50b36d8d16a98023a55c6c494ff75a89b994db /lib/libc/locale/setrunelocale.c | |
parent | b11e88aa0eb39e0a14d792aeaf714fbbf091e7eb (diff) | |
download | FreeBSD-src-9d73d0dd122e2ce7df338d16beff65b7bbbc42c5.zip FreeBSD-src-9d73d0dd122e2ce7df338d16beff65b7bbbc42c5.tar.gz |
Add safeguards to never use errno == 0 as setrunelocale() error return code
Diffstat (limited to 'lib/libc/locale/setrunelocale.c')
-rw-r--r-- | lib/libc/locale/setrunelocale.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/libc/locale/setrunelocale.c b/lib/libc/locale/setrunelocale.c index f1a01fc..042a06c 100644 --- a/lib/libc/locale/setrunelocale.c +++ b/lib/libc/locale/setrunelocale.c @@ -106,7 +106,7 @@ setrunelocale(char *encoding) return (ENAMETOOLONG); _PathLocale = strdup(p); if (_PathLocale == NULL) - return (ENOMEM); + return (errno == 0 ? ENOMEM : errno); } else _PathLocale = _PATH_LOCALE; } @@ -117,10 +117,10 @@ setrunelocale(char *encoding) (void) strcat(name, "/LC_CTYPE"); if ((fp = fopen(name, "r")) == NULL) - return (errno); + return (errno == 0 ? ENOENT : errno); if ((rl = _Read_RuneMagi(fp)) == NULL) { - saverr = errno; + saverr = (errno == 0 ? EFTYPE : errno); (void)fclose(fp); return (saverr); } |