From 4a8ff87cac00e23a9733e4a5332cb52090d8910e Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Sat, 15 Mar 2003 20:06:37 +0000 Subject: 2003-03-14 Roland McGrath * dlfcn/dlerror.c (dlerror): If objname is "", don't put ": " after it. --- dlfcn/dlerror.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'dlfcn') diff --git a/dlfcn/dlerror.c b/dlfcn/dlerror.c index eaf5ef9294..0e02ca7d90 100644 --- a/dlfcn/dlerror.c +++ b/dlfcn/dlerror.c @@ -1,5 +1,5 @@ /* Return error detail for failing functions. - Copyright (C) 1995,1996,1997,1998,1999,2000,2002 + Copyright (C) 1995,1996,1997,1998,1999,2000,2002, 2003 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -69,9 +69,19 @@ dlerror (void) else if (result->errstring != NULL) { buf = (char *) result->errstring; - if (__asprintf (&buf, result->errcode != 0 ? "%s: %s: %s" : "%s: %s", - result->objname, _(result->errstring), - strerror (result->errcode)) != -1) + int n; + if (result->errcode == 0) + n = __asprintf (&buf, "%s%s%s", + result->objname, + result->objname[0] == '\0' ? "" : ": ", + _(result->errstring)); + else + n = __asprintf (&buf, "%s%s%s: %s", + result->objname, + result->objname[0] == '\0' ? "" : ": ", + _(result->errstring), + strerror (result->errcode)); + if (n != -1) { /* We don't need the error string anymore. */ if (strcmp (result->errstring, "out of memory") != 0) -- cgit v1.2.3