summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorache <ache@FreeBSD.org>2002-08-12 17:14:04 +0000
committerache <ache@FreeBSD.org>2002-08-12 17:14:04 +0000
commit5e3f4acbd9e5aa5e5504525ab1dc343d84c99186 (patch)
treeb45a6af13a8180ebb4faafdd8b0fe6aed69a6336
parentf8156b93eeb0d400644d4f1731a0d3ee31b837fb (diff)
downloadFreeBSD-src-5e3f4acbd9e5aa5e5504525ab1dc343d84c99186.zip
FreeBSD-src-5e3f4acbd9e5aa5e5504525ab1dc343d84c99186.tar.gz
Now malloc() is fixed, remove errno hardcoding to ENOMEM
-rw-r--r--lib/libc/locale/collate.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/libc/locale/collate.c b/lib/libc/locale/collate.c
index c7e6c12..44c3eb7 100644
--- a/lib/libc/locale/collate.c
+++ b/lib/libc/locale/collate.c
@@ -92,23 +92,26 @@ __collate_load_tables(const char *encoding)
if ((TMP_substitute_table =
malloc(sizeof(__collate_substitute_table))) == NULL) {
+ saverr = errno;
(void)fclose(fp);
- errno = ENOMEM;
+ errno = saverr;
return (_LDP_ERROR);
}
if ((TMP_char_pri_table =
malloc(sizeof(__collate_char_pri_table))) == NULL) {
+ saverr = errno;
free(TMP_substitute_table);
(void)fclose(fp);
- errno = ENOMEM;
+ errno = saverr;
return (_LDP_ERROR);
}
if ((TMP_chain_pri_table =
malloc(sizeof(__collate_chain_pri_table))) == NULL) {
+ saverr = errno;
free(TMP_substitute_table);
free(TMP_char_pri_table);
(void)fclose(fp);
- errno = ENOMEM;
+ errno = saverr;
return (_LDP_ERROR);
}
OpenPOWER on IntegriCloud