diff options
author | ache <ache@FreeBSD.org> | 2002-08-12 17:14:04 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 2002-08-12 17:14:04 +0000 |
commit | 5e3f4acbd9e5aa5e5504525ab1dc343d84c99186 (patch) | |
tree | b45a6af13a8180ebb4faafdd8b0fe6aed69a6336 /lib/libc | |
parent | f8156b93eeb0d400644d4f1731a0d3ee31b837fb (diff) | |
download | FreeBSD-src-5e3f4acbd9e5aa5e5504525ab1dc343d84c99186.zip FreeBSD-src-5e3f4acbd9e5aa5e5504525ab1dc343d84c99186.tar.gz |
Now malloc() is fixed, remove errno hardcoding to ENOMEM
Diffstat (limited to 'lib/libc')
-rw-r--r-- | lib/libc/locale/collate.c | 9 |
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); } |