summaryrefslogtreecommitdiff
path: root/extra/perror.c
diff options
context:
space:
mode:
authorunknown <monty@mysql.com>2004-05-25 22:54:00 +0300
committerunknown <monty@mysql.com>2004-05-25 22:54:00 +0300
commita9b481d3cd7fbf832b17523c521185db6366492c (patch)
treeb258dbd41e0b45f70adf8c42ee94cce74cd0232f /extra/perror.c
parentde5edbf8db66e1f896b76d408152cd0094dcf684 (diff)
parenta3d0ce6bc611673e2d5342bc9cd735a9febfe6b4 (diff)
downloadmariadb-git-a9b481d3cd7fbf832b17523c521185db6366492c.tar.gz
merge with 4.0 to get Netware patches and fixes for libmysqld.dll
configure.in: Auto merged Build-tools/Do-compile: Auto merged client/mysql.cc: Auto merged client/mysqladmin.c: Auto merged client/mysqlcheck.c: Auto merged client/mysqldump.c: Auto merged client/mysqlimport.c: Auto merged client/mysqlshow.c: Auto merged client/mysqltest.c: Auto merged include/my_global.h: Auto merged include/thr_alarm.h: Auto merged innobase/include/trx0roll.h: Auto merged innobase/include/trx0trx.h: Auto merged innobase/que/que0que.c: Auto merged innobase/srv/srv0srv.c: Auto merged innobase/trx/trx0purge.c: Auto merged innobase/trx/trx0roll.c: Auto merged innobase/trx/trx0trx.c: Auto merged innobase/usr/usr0sess.c: Auto merged isam/isamchk.c: Auto merged myisam/myisam_ftdump.c: Auto merged myisam/myisamchk.c: Auto merged myisam/myisampack.c: Auto merged mysys/default.c: Auto merged mysys/my_getopt.c: Auto merged mysys/my_init.c: Auto merged mysys/my_pthread.c: Auto merged netware/Makefile.am: Auto merged netware/init_db.sql: Auto merged scripts/make_binary_distribution.sh: Auto merged tools/mysqlmanager.c: Auto merged VC++Files/dbug/dbug.dsp: Auto merged VC++Files/heap/heap.dsp: Auto merged VC++Files/isam/isam.dsp: Auto merged VC++Files/libmysql/libmysql.dsp: Auto merged VC++Files/myisam/myisam.dsp: Auto merged VC++Files/myisammrg/myisammrg.dsp: Auto merged VC++Files/mysys/mysys.dsp: Auto merged VC++Files/libmysqld/libmysqld.dsp: merge client/mysqlbinlog.cc: merge extra/perror.c: merge include/mysql_com.h: merge libmysqld/Makefile.am: merge netware/BUILD/mwenv: merge sql/mysqld.cc: merge
Diffstat (limited to 'extra/perror.c')
-rw-r--r--extra/perror.c21
1 files changed, 18 insertions, 3 deletions
diff --git a/extra/perror.c b/extra/perror.c
index 1d3d7c70fac..a31889cc26d 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>
@@ -207,8 +207,16 @@ 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);
#ifdef HAVE_NDBCLUSTER_DB
@@ -222,7 +230,14 @@ int main(int argc,char *argv[])
else
#endif
msg = strerror(code);
- if (msg)
+
+ /*
+ 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)
@@ -241,7 +256,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);
}