summaryrefslogtreecommitdiff
path: root/extra/perror.c
diff options
context:
space:
mode:
authorunknown <monty@mysql.com>2004-05-25 22:00:14 +0300
committerunknown <monty@mysql.com>2004-05-25 22:00:14 +0300
commitb3851363ba8df0b3f55ecb358849a212db4b12a8 (patch)
tree2c56473da947b9807f0d1668171870a8e3dbc736 /extra/perror.c
parent699cbc02cc3eac51524a56fc106d013633f336f6 (diff)
downloadmariadb-git-b3851363ba8df0b3f55ecb358849a212db4b12a8.tar.gz
Added patches from Novell
Build-tools/Do-compile: Fixed indentation configure.in: Added patches from Novell Added C_EXTRA_FLAGS as an easy way to pass flags to both CFLAGS and CXXFLAGS extra/perror.c: Fixed error number reporting to not report 'Unknown error' include/my_global.h: Defines to make NETWARE patches cleaner include/thr_alarm.h: Fixed wrong macro netware/mysql_install_db.c: Indentation fix
Diffstat (limited to 'extra/perror.c')
-rw-r--r--extra/perror.c24
1 files changed, 19 insertions, 5 deletions
diff --git a/extra/perror.c b/extra/perror.c
index 6d9744a39da..b4405fdc5dd 100644
--- a/extra/perror.c
+++ b/extra/perror.c
@@ -16,7 +16,7 @@
/* Return error-text for system error messages and nisam messages */
-#define PERROR_VERSION "2.9"
+#define PERROR_VERSION "2.10"
#include <my_global.h>
#include <my_sys.h>
@@ -195,16 +195,30 @@ int main(int argc,char *argv[])
else
#endif
{
+ /*
+ On some system, like NETWARE, strerror(unknown_error) returns a
+ string 'Unknown Error'. To avoid printing it we try to find the
+ error string by asking for an impossible big error message.
+ */
+ const char *unknown_error= strerror(10000);
+
for ( ; argc-- > 0 ; argv++)
{
found=0;
code=atoi(*argv);
- msg = strerror(code);
- if (msg)
+ 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
+ */
+ if (msg && strcmp(msg, "Unknown Error") &&
+ (!unknown_error || strcmp(msg, unknown_error)))
{
found=1;
if (verbose)
- printf("Error code %3d: %s\n",code,msg);
+ printf("System error: %3d = %s\n",code,msg);
else
puts(msg);
}
@@ -219,7 +233,7 @@ int main(int argc,char *argv[])
else
{
if (verbose)
- printf("%3d = %s\n",code,msg);
+ printf("MySql error: %3d = %s\n",code,msg);
else
puts(msg);
}