diff options
author | Günther Deschner <gd@samba.org> | 2008-01-11 14:47:23 +0100 |
---|---|---|
committer | Günther Deschner <gd@samba.org> | 2008-01-11 15:09:54 +0100 |
commit | 4eed7883bb0832157461cac1f0efcd6398746d7d (patch) | |
tree | d0679e3196713c4e7ad8d000fdd7602297bb1f33 /source3/lib/netapi/netapi.c | |
parent | 2bcba87572a290d8d0281604b80355af9abf66e8 (diff) | |
download | samba-4eed7883bb0832157461cac1f0efcd6398746d7d.tar.gz samba-4eed7883bb0832157461cac1f0efcd6398746d7d.tar.bz2 samba-4eed7883bb0832157461cac1f0efcd6398746d7d.zip |
Refactor libnetapi error string functions a bit.
Guenther
(This used to be commit 3b450a8bcc97b6d03c4b7b9373a3a382c0fcea30)
Diffstat (limited to 'source3/lib/netapi/netapi.c')
-rw-r--r-- | source3/lib/netapi/netapi.c | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/source3/lib/netapi/netapi.c b/source3/lib/netapi/netapi.c index d4cb3a9fe2..ce00054e6e 100644 --- a/source3/lib/netapi/netapi.c +++ b/source3/lib/netapi/netapi.c @@ -192,8 +192,7 @@ NET_API_STATUS libnetapi_set_workgroup(struct libnetapi_ctx *ctx, /**************************************************************** ****************************************************************/ -const char *libnetapi_errstr(struct libnetapi_ctx *ctx, - NET_API_STATUS status) +const char *libnetapi_errstr(NET_API_STATUS status) { if (status & 0xc0000000) { return get_friendly_nt_error_msg(NT_STATUS(status)); @@ -220,9 +219,23 @@ NET_API_STATUS libnetapi_set_error_string(struct libnetapi_ctx *ctx, /**************************************************************** ****************************************************************/ -const char *libnetapi_get_error_string(struct libnetapi_ctx *ctx) +const char *libnetapi_get_error_string(struct libnetapi_ctx *ctx, + NET_API_STATUS status) { - return ctx->error_string; + struct libnetapi_ctx *tmp_ctx = ctx; + + if (!tmp_ctx) { + status = libnetapi_getctx(&tmp_ctx); + if (status != 0) { + return NULL; + } + } + + if (tmp_ctx->error_string) { + return tmp_ctx->error_string; + } + + return libnetapi_errstr(status); } /**************************************************************** |