diff options
author | Jeremy Allison <jra@samba.org> | 2009-02-24 12:35:33 -0800 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2009-02-24 12:35:33 -0800 |
commit | c21d54f913c770f3530de500768919a2debbcc61 (patch) | |
tree | d01951fdfed3edf7f448b42e1b24c3fe4c0c269f /source3/libsmb/nmblib.c | |
parent | 3a88316e233079199117731756d35d0aea4670e4 (diff) | |
parent | e3746ac922c29f90d0dbb23a76f5387daf21c8c3 (diff) | |
download | samba-c21d54f913c770f3530de500768919a2debbcc61.tar.gz samba-c21d54f913c770f3530de500768919a2debbcc61.tar.bz2 samba-c21d54f913c770f3530de500768919a2debbcc61.zip |
Merge branch 'master' of ssh://jra@git.samba.org/data/git/samba
Diffstat (limited to 'source3/libsmb/nmblib.c')
-rw-r--r-- | source3/libsmb/nmblib.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/source3/libsmb/nmblib.c b/source3/libsmb/nmblib.c index 02b13ae63e..5f3eda44fe 100644 --- a/source3/libsmb/nmblib.c +++ b/source3/libsmb/nmblib.c @@ -1279,12 +1279,19 @@ static int name_interpret(char *in, fstring name) Note: <Out> must be (33 + strlen(scope) + 2) bytes long, at minimum. ****************************************************************************/ -int name_mangle( char *In, char *Out, char name_type ) +char *name_mangle(TALLOC_CTX *mem_ctx, char *In, char name_type) { int i; int len; nstring buf; - char *p = Out; + char *result; + char *p; + + result = talloc_array(mem_ctx, char, 33 + strlen(global_scope()) + 2); + if (result == NULL) { + return NULL; + } + p = result; /* Safely copy the input string, In, into buf[]. */ if (strcmp(In,"*") == 0) @@ -1321,7 +1328,7 @@ int name_mangle( char *In, char *Out, char name_type ) p[0] = len; if( len > 0 ) p[len+1] = 0; - return( name_len(Out) ); + return result; case '.': p[0] = len; p += (len + 1); @@ -1333,7 +1340,7 @@ int name_mangle( char *In, char *Out, char name_type ) } } - return( name_len(Out) ); + return result; } /**************************************************************************** |