From 89fe03a728cc6e88e83b8d13aae6e7701de4b203 Mon Sep 17 00:00:00 2001 From: cuz Date: Fri, 18 Oct 2002 13:38:23 +0000 Subject: [PATCH] Fixed a problem with perror: The error code may get overwritten before it can be output. Report from Greg King. git-svn-id: svn://svn.cc65.org/cc65/trunk@1467 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- libsrc/common/perror.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/libsrc/common/perror.c b/libsrc/common/perror.c index 814152e29..afe4be996 100644 --- a/libsrc/common/perror.c +++ b/libsrc/common/perror.c @@ -13,11 +13,16 @@ void perror (const char* msg) -{ - if (msg) { - fprintf (stderr, "%s: ", msg); +{ + /* Fetch the message that corresponds to errno */ + const char* errormsg = strerror (errno); + + /* Different output depending on msg */ + if (msg) { + fprintf (stderr, "%s: %s\n", msg, errormsg); + } else { + fprintf (stderr, "%s\n", errormsg); } - fprintf (stderr, "%s\n", strerror (errno)); }