From 316321ebdfb2a0d951888dd12dabf07dbe87c13b Mon Sep 17 00:00:00 2001 From: Alexey Zelkin Date: Tue, 5 Sep 2000 12:23:08 +0000 Subject: [PATCH] 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(-) diff --git a/lib/libc/nls/msgcat.c b/lib/libc/nls/msgcat.c index c5ea4a39b66..bf24d829110 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)