diff options
author | Gerald (Jerry) Carter <jerry@samba.org> | 2007-11-02 14:16:40 -0400 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-11-02 14:16:40 -0400 |
commit | 8a33035038d176ca3065daf2ff4f1c93464d5e9c (patch) | |
tree | dbc3d000567ecded7aeb80fa6eba2d5ea0ffd1fd /source3/lib/util.c | |
parent | 7bbdc00545ded27f10e87c5b90345bd96d09dfd2 (diff) | |
parent | 414ab2ce46dd62d0119f03eca93783bc489af896 (diff) | |
download | samba-8a33035038d176ca3065daf2ff4f1c93464d5e9c.tar.gz samba-8a33035038d176ca3065daf2ff4f1c93464d5e9c.tar.bz2 samba-8a33035038d176ca3065daf2ff4f1c93464d5e9c.zip |
Merge branch 'v3-2-test' of git://git.samba.org/samba into v3-2-test
(This used to be commit 95de80218c10a72c7b28541c3c2e475e083b68f1)
Diffstat (limited to 'source3/lib/util.c')
-rw-r--r-- | source3/lib/util.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/source3/lib/util.c b/source3/lib/util.c index c8f0c3121f..0ae80c1f9e 100644 --- a/source3/lib/util.c +++ b/source3/lib/util.c @@ -550,7 +550,7 @@ int set_message(char *buf,int num_words,int num_bytes,bool zero) int set_message_bcc(char *buf,int num_bytes) { int num_words = CVAL(buf,smb_wct); - SSVAL(buf,smb_vwv + num_words*SIZEOFWORD,num_bytes); + SSVAL(buf,smb_vwv + num_words*SIZEOFWORD,num_bytes); smb_setlen(buf,smb_size + num_words*2 + num_bytes - 4); return (smb_size + num_words*2 + num_bytes); } @@ -2450,21 +2450,25 @@ char *data_path(const char *name) /***************************************************************** a useful function for returning a path in the Samba state directory *****************************************************************/ -char *state_path(char *name) + +char *state_path(const char *name) { - pstring fname; + TALLOC_CTX *ctx = talloc_tos(); + char *fname = talloc_strdup(ctx, dyn_STATEDIR()); - pstrcpy(fname,dyn_STATEDIR()); + if (!fname) { + smb_panic("state_path: out of memory"); + } trim_string(fname,"","/"); if (!directory_exist(fname,NULL)) { mkdir(fname,0755); } - pstrcat(fname,"/"); - pstrcat(fname,name); + fname = talloc_asprintf(ctx, "%s/%s", + fname, name); - return talloc_strdup(talloc_tos(), fname); + return fname; } /** |