diff options
author | Volker Lendecke <Volker.Lendecke@SerNet.DE> | 2007-11-11 15:30:01 +0100 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2007-11-11 21:34:40 -0800 |
commit | 6069670f1bebc37527c8363a72a653e43fff7c0b (patch) | |
tree | 65e70d7b07a35fc977c35c2aaef49492cead627a /source3/libsmb/smberr.c | |
parent | 7e9d639ed1584c2f7cd3556ce3e93974851f74c6 (diff) | |
download | samba-6069670f1bebc37527c8363a72a653e43fff7c0b.tar.gz |
Some pstring removal
Hi!
Feel free to push :-)
Volker
From 7fae6b3709a973bd0a5a13d3f5c880c61d5e35de Mon Sep 17 00:00:00 2001
From: Volker Lendecke <vl@sernet.de>
Date: Sun, 11 Nov 2007 15:28:59 +0100
Subject: [PATCH] Remove some static pstrings
(This used to be commit c3a66b4ee97a902c5cf43c3bb145541849a029ed)
Diffstat (limited to 'source3/libsmb/smberr.c')
-rw-r--r-- | source3/libsmb/smberr.c | 60 |
1 files changed, 36 insertions, 24 deletions
diff --git a/source3/libsmb/smberr.c b/source3/libsmb/smberr.c index 1d81011d92b..f4a13983f01 100644 --- a/source3/libsmb/smberr.c +++ b/source3/libsmb/smberr.c @@ -160,7 +160,7 @@ return a SMB error name from a class and code ****************************************************************************/ const char *smb_dos_err_name(uint8 e_class, uint16 num) { - static pstring ret; + char *result; int i,j; for (i=0;err_classes[i].e_class;i++) @@ -172,12 +172,15 @@ const char *smb_dos_err_name(uint8 e_class, uint16 num) return err[j].name; } } - slprintf(ret, sizeof(ret) - 1, "%d",num); - return ret; + result = talloc_asprintf(talloc_tos(), "%d", num); + SMB_ASSERT(result != NULL); + return result; } - slprintf(ret, sizeof(ret) - 1, "Error: Unknown error class (%d,%d)",e_class,num); - return(ret); + result = talloc_asprintf(talloc_tos(), "Error: Unknown error class " + "(%d,%d)", e_class,num); + SMB_ASSERT(result != NULL); + return result; } /* Return a string for a DOS error */ @@ -196,17 +199,19 @@ return a SMB error class name as a string. ****************************************************************************/ const char *smb_dos_err_class(uint8 e_class) { - static pstring ret; + char *result; int i; - + for (i=0;err_classes[i].e_class;i++) { if (err_classes[i].code == e_class) { return err_classes[i].e_class; } } - - slprintf(ret, sizeof(ret) - 1, "Error: Unknown class (%d)",e_class); - return(ret); + + result = talloc_asprintf(talloc_tos(), "Error: Unknown class (%d)", + e_class); + SMB_ASSERT(result != NULL); + return result; } /**************************************************************************** @@ -214,11 +219,11 @@ return a SMB string from an SMB buffer ****************************************************************************/ char *smb_dos_errstr(char *inbuf) { - static pstring ret; + char *result; int e_class = CVAL(inbuf,smb_rcls); int num = SVAL(inbuf,smb_err); int i,j; - + for (i=0;err_classes[i].e_class;i++) if (err_classes[i].code == e_class) { if (err_classes[i].err_msgs) { @@ -226,22 +231,29 @@ char *smb_dos_errstr(char *inbuf) 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].e_class, - err[j].name,err[j].message); + result = talloc_asprintf( + talloc_tos(), "%s - %s (%s)", + err_classes[i].e_class, + err[j].name,err[j].message); else - slprintf(ret, sizeof(ret) - 1, "%s - %s", - err_classes[i].e_class,err[j].name); - return ret; + result = talloc_asprintf( + talloc_tos(), "%s - %s", + err_classes[i].e_class, + err[j].name); + goto done; } } - - slprintf(ret, sizeof(ret) - 1, "%s - %d",err_classes[i].e_class,num); - return ret; + + result = talloc_asprintf(talloc_tos(), "%s - %d", + err_classes[i].e_class, num); + goto done; } - - slprintf(ret, sizeof(ret) - 1, "Error: Unknown error (%d,%d)",e_class,num); - return(ret); + + result = talloc_asprintf(talloc_tos(), "Error: Unknown error (%d,%d)", + e_class, num); + done: + SMB_ASSERT(result != NULL); + return result; } /***************************************************************************** |