]> git.sur5r.net Git - cc65/commitdiff
Fixed a problem with perror: The error code may get overwritten before it
authorcuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Fri, 18 Oct 2002 13:38:23 +0000 (13:38 +0000)
committercuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Fri, 18 Oct 2002 13:38:23 +0000 (13:38 +0000)
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

index 814152e293368a2c30751847948f3b45613520b0..afe4be9962544811a73c0c246073a860b86932d8 100644 (file)
 
 
 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));
 }