From 5b566d9d01d072d456740cae54fe4e1b24a795e2 Mon Sep 17 00:00:00 2001 From: phantom Date: Tue, 5 Sep 2000 12:23:08 +0000 Subject: Oops! don't set errno to ENOMEM explicitly if malloc() failed. Found by: ache --- lib/libc/nls/msgcat.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'lib/libc/nls/msgcat.c') diff --git a/lib/libc/nls/msgcat.c b/lib/libc/nls/msgcat.c index c5ea4a3..bf24d82 100644 --- a/lib/libc/nls/msgcat.c +++ b/lib/libc/nls/msgcat.c @@ -259,13 +259,17 @@ catclose( catd) /* Note that only malloc failures are allowed to return an error */ static char* _errowner = "Message Catalog System";; -#define PROBLEM(err, msg) { \ - fprintf(stderr, msg, _errowner); \ - free(cat); \ - NLRETERR(err); \ +#define CORRUPT() { \ + fprintf(stderr, "%s: currupt file.", _errowner); \ + free(cat); \ + NLRETERR(EINVAL); \ + } + +#define NOSPACE() { \ + fprintf(stderr, "%s: no more memory.", _errowner); \ + free(cat); \ + return(NLERR); \ } -#define CORRUPT() PROBLEM(EINVAL, "%s: corrupt file.\n") -#define NOSPACE() PROBLEM(ENOMEM, "%s: no more memory.\n") static void __nls_free_resources(cat, i) -- cgit v1.1