summaryrefslogtreecommitdiff
path: root/extra
diff options
context:
space:
mode:
authorjimw@mysql.com <>2005-02-16 17:37:56 -0800
committerjimw@mysql.com <>2005-02-16 17:37:56 -0800
commit64ef4ec2f3f952e41245e1cdaea116ab6660debf (patch)
tree6bf769145ee25ba39f140e3d4c8fea0e71427898 /extra
parentaa70a6ce06e75e7cfe71ee1e7bedc168144ed251 (diff)
downloadmariadb-git-64ef4ec2f3f952e41245e1cdaea116ab6660debf.tar.gz
Fix output of perror to include whether the error message
corresponds to an OS or MySQL error. (Bug #8517)
Diffstat (limited to 'extra')
-rw-r--r--extra/perror.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/extra/perror.c b/extra/perror.c
index b377b360b5c..6e632b20d96 100644
--- a/extra/perror.c
+++ b/extra/perror.c
@@ -245,16 +245,17 @@ int main(int argc,char *argv[])
msg = strerror(code);
/*
- Don't print message for not existing error messages or for
- unknown errors. We test for 'Uknown Errors' just as an
- extra safety for Netware
+ We don't print the OS error message if it is the same as the
+ unknown_error message we retrieved above, or it starts with
+ 'Unknown Error' (without regard to case).
*/
- if (msg && strcmp(msg, "Unknown Error") &&
+ if (msg &&
+ my_strnncoll(&my_charset_latin1, msg, 13, "Unknown Error", 13) &&
(!unknown_error || strcmp(msg, unknown_error)))
{
found=1;
if (verbose)
- printf("Error code %3d: %s\n",code,msg);
+ printf("OS error code %3d: %s\n",code,msg);
else
puts(msg);
}
@@ -269,7 +270,7 @@ int main(int argc,char *argv[])
else
{
if (verbose)
- printf("MySQL error: %3d = %s\n",code,msg);
+ printf("MySQL error code %3d: %s\n",code,msg);
else
puts(msg);
}