diff options
author | Andrew Tridgell <tridge@samba.org> | 2005-06-16 05:39:40 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:18:14 -0500 |
commit | bab977dad76e9204278c7afe0bb905cda064f488 (patch) | |
tree | ff48dba24a28edb88ba6a5485688bf9f920a2928 /source4/libcli/util | |
parent | 9105bf4054b8ebac0c73b504bf38d49f81661176 (diff) | |
download | samba-bab977dad76e9204278c7afe0bb905cda064f488.tar.gz samba-bab977dad76e9204278c7afe0bb905cda064f488.tar.bz2 samba-bab977dad76e9204278c7afe0bb905cda064f488.zip |
r7626: a new ldap client library. Main features are:
- hooked into events system, so requests can be truly async and won't
interfere with other processing happening at the same time
- uses NTSTATUS codes for errors (previously errors were mostly
ignored). In a similar fashion to the DOS error handling, I have
reserved a range of the NTSTATUS code 32 bit space for LDAP error
codes, so a function can return a LDAP error code in a NTSTATUS
- much cleaner packet handling
(This used to be commit 2e3c660b2fc20e046d82bf1cc296422b6e7dfad0)
Diffstat (limited to 'source4/libcli/util')
-rw-r--r-- | source4/libcli/util/nterr.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/source4/libcli/util/nterr.c b/source4/libcli/util/nterr.c index d727cfe2a9..eca47572e3 100644 --- a/source4/libcli/util/nterr.c +++ b/source4/libcli/util/nterr.c @@ -648,7 +648,7 @@ static const nt_err_code_struct nt_err_desc[] = *****************************************************************************/ const char *nt_errstr(NTSTATUS nt_code) { - static pstring msg; + static fstring msg; int idx = 0; while (nt_errs[idx].nt_errstr != NULL) { @@ -659,7 +659,14 @@ const char *nt_errstr(NTSTATUS nt_code) idx++; } - slprintf(msg, sizeof(msg), "NT code 0x%08x", NT_STATUS_V(nt_code)); + if (NT_STATUS_IS_DOS(nt_code)) { + slprintf(msg, sizeof(msg), "DOS code %u:%u", + NT_STATUS_DOS_CLASS(nt_code), NT_STATUS_DOS_CODE(nt_code)); + } else if (NT_STATUS_IS_LDAP(nt_code)) { + slprintf(msg, sizeof(msg), "LDAP code %u", NT_STATUS_LDAP_CODE(nt_code)); + } else { + slprintf(msg, sizeof(msg), "NT code 0x%08x", NT_STATUS_V(nt_code)); + } return msg; } |