diff options
author | Andrew Tridgell <tridge@samba.org> | 2001-09-05 11:32:59 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2001-09-05 11:32:59 +0000 |
commit | d53d5beeb29c0024556aae2f66f1d5bfe63960e5 (patch) | |
tree | 0b362c3ab60bf8bfeb6c3221d1627aa0b40d89df /source3/libsmb/smberr.c | |
parent | 851a06e1fd6ac0d921f96fe9e9529129b4b4c01d (diff) | |
download | samba-d53d5beeb29c0024556aae2f66f1d5bfe63960e5.tar.gz samba-d53d5beeb29c0024556aae2f66f1d5bfe63960e5.tar.bz2 samba-d53d5beeb29c0024556aae2f66f1d5bfe63960e5.zip |
use cli_is_error() instead of looking in smb_rcls, otherwise NT status
codes don't work correctly
(This used to be commit 55d5828e608671f070a9e96938be0d16d50aeb26)
Diffstat (limited to 'source3/libsmb/smberr.c')
-rw-r--r-- | source3/libsmb/smberr.c | 59 |
1 files changed, 28 insertions, 31 deletions
diff --git a/source3/libsmb/smberr.c b/source3/libsmb/smberr.c index 00966aed43..c881b54203 100644 --- a/source3/libsmb/smberr.c +++ b/source3/libsmb/smberr.c @@ -148,39 +148,36 @@ struct /**************************************************************************** return a SMB error string from a SMB buffer ****************************************************************************/ -char *smb_errstr(char *inbuf) +char *smb_dos_errstr(char *inbuf) { - static pstring ret; - int class = CVAL(inbuf,smb_rcls); - int num = SVAL(inbuf,smb_err); - int i,j; - - for (i=0;err_classes[i].class;i++) - if (err_classes[i].code == class) - { - if (err_classes[i].err_msgs) - { - err_code_struct *err = err_classes[i].err_msgs; - for (j=0;err[j].name;j++) - if (num == err[j].code) - { - if (DEBUGLEVEL > 0) - slprintf(ret, sizeof(ret) - 1, "%s - %s (%s)", - err_classes[i].class, - err[j].name,err[j].message); - else - slprintf(ret, sizeof(ret) - 1, "%s - %s", - err_classes[i].class,err[j].name); - return ret; + static pstring ret; + int class = CVAL(inbuf,smb_rcls); + int num = SVAL(inbuf,smb_err); + int i,j; + + for (i=0;err_classes[i].class;i++) + if (err_classes[i].code == class) { + if (err_classes[i].err_msgs) { + err_code_struct *err = err_classes[i].err_msgs; + for (j=0;err[j].name;j++) + if (num == err[j].code) { + if (DEBUGLEVEL > 0) + slprintf(ret, sizeof(ret) - 1, "%s - %s (%s)", + err_classes[i].class, + err[j].name,err[j].message); + else + slprintf(ret, sizeof(ret) - 1, "%s - %s", + err_classes[i].class,err[j].name); + return ret; + } + } + + slprintf(ret, sizeof(ret) - 1, "%s - %d",err_classes[i].class,num); + return ret; } - } - - slprintf(ret, sizeof(ret) - 1, "%s - %d",err_classes[i].class,num); - return ret; - } - - slprintf(ret, sizeof(ret) - 1, "Error: Unknown error (%d,%d)",class,num); - return(ret); + + slprintf(ret, sizeof(ret) - 1, "Error: Unknown error (%d,%d)",class,num); + return(ret); } |