From: cuz Date: Fri, 18 Oct 2002 13:38:23 +0000 (+0000) Subject: Fixed a problem with perror: The error code may get overwritten before it X-Git-Tag: V2.12.0~2165 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=89fe03a728cc6e88e83b8d13aae6e7701de4b203;p=cc65 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 --- 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)); }