diff options
author | msvensson@neptunus.(none) <> | 2006-08-01 20:24:30 +0200 |
---|---|---|
committer | msvensson@neptunus.(none) <> | 2006-08-01 20:24:30 +0200 |
commit | 31be565d2ed48ebc2d4bc57d0896b8750810527b (patch) | |
tree | 846b441c9730546494aa063e2bc4f74751efde48 /extra | |
parent | d8d17559eee16aa2f40159711f1b7967b79c5b6a (diff) | |
parent | 09a36146b85ec542a93e6d47bc645470d1ca30d3 (diff) | |
download | mariadb-git-31be565d2ed48ebc2d4bc57d0896b8750810527b.tar.gz |
Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0
into neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
Diffstat (limited to 'extra')
-rw-r--r-- | extra/perror.c | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/extra/perror.c b/extra/perror.c index 82311c1b2c9..b26e516a101 100644 --- a/extra/perror.c +++ b/extra/perror.c @@ -218,8 +218,11 @@ int main(int argc,char *argv[]) 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. + + On Solaris 2.8 it might return NULL */ - msg= strerror(10000); + if ((msg= strerror(10000)) == NULL) + msg= "Unknown Error"; /* Allocate a buffer for unknown_error since strerror always returns @@ -258,7 +261,7 @@ int main(int argc,char *argv[]) found= 1; msg= 0; } - else + else #endif msg = strerror(code); @@ -278,20 +281,23 @@ int main(int argc,char *argv[]) else puts(msg); } - if (!(msg=get_ha_error_msg(code))) + + if (!found) { - if (!found) - { + /* Error message still not found, look in handler error codes */ + if (!(msg=get_ha_error_msg(code))) + { fprintf(stderr,"Illegal error code: %d\n",code); error=1; - } - } - else - { - if (verbose) - printf("MySQL error code %3d: %s\n",code,msg); - else - puts(msg); + } + else + { + found= 1; + if (verbose) + printf("MySQL error code %3d: %s\n",code,msg); + else + puts(msg); + } } } } |