aboutsummaryrefslogtreecommitdiff
path: root/lib/libc/locale
diff options
context:
space:
mode:
authorAndrey A. Chernov <ache@FreeBSD.org>2002-08-09 08:22:29 +0000
committerAndrey A. Chernov <ache@FreeBSD.org>2002-08-09 08:22:29 +0000
commitec5ca2eba75a21d9b9c2ce4e9114b1246b4f5fcd (patch)
treeec50b36d8d16a98023a55c6c494ff75a89b994db /lib/libc/locale
parent4ecb22fb960ebb59472ab03e9a03321108b93100 (diff)
downloadsrc-ec5ca2eba75a21d9b9c2ce4e9114b1246b4f5fcd.tar.gz
src-ec5ca2eba75a21d9b9c2ce4e9114b1246b4f5fcd.zip
Notes
Diffstat (limited to 'lib/libc/locale')
-rw-r--r--lib/libc/locale/euc.c2
-rw-r--r--lib/libc/locale/rune.c4
-rw-r--r--lib/libc/locale/setrunelocale.c6
3 files changed, 5 insertions, 7 deletions
diff --git a/lib/libc/locale/euc.c b/lib/libc/locale/euc.c
index 43194fa0103c..596d107a88ca 100644
--- a/lib/libc/locale/euc.c
+++ b/lib/libc/locale/euc.c
@@ -78,7 +78,7 @@ _EUC_init(rl)
++v;
if ((ei = malloc(sizeof(_EucInfo))) == NULL)
- return (ENOMEM);
+ return (errno == 0 ? ENOMEM : errno);
new__mb_cur_max = 0;
for (x = 0; x < 4; ++x) {
diff --git a/lib/libc/locale/rune.c b/lib/libc/locale/rune.c
index 63a50de4c755..1783cba8965e 100644
--- a/lib/libc/locale/rune.c
+++ b/lib/libc/locale/rune.c
@@ -70,10 +70,8 @@ _Read_RuneMagi(fp)
return (NULL);
}
- if ((data = malloc(sb.st_size)) == NULL) {
- errno = ENOMEM;
+ if ((data = malloc(sb.st_size)) == NULL)
return (NULL);
- }
errno = 0;
rewind(fp); /* Someone might have read the magic number once already */
diff --git a/lib/libc/locale/setrunelocale.c b/lib/libc/locale/setrunelocale.c
index f1a01fc48b80..042a06c2bce7 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);
}