diff options
author | Gerald Carter <jerry@samba.org> | 2005-10-18 03:21:59 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 11:05:02 -0500 |
commit | afca439d19e3d9e67b127d7060df630e2218bcb2 (patch) | |
tree | 91e53687abea4019a542a20d1ec1862f6b447bdc /source3/registry/reg_util.c | |
parent | 6f72169c7cee4d8334c15e3add711cd1716e618a (diff) | |
download | samba-afca439d19e3d9e67b127d7060df630e2218bcb2.tar.gz samba-afca439d19e3d9e67b127d7060df630e2218bcb2.tar.bz2 samba-afca439d19e3d9e67b127d7060df630e2218bcb2.zip |
r11136: patches from Brian Moran for eventlogadm utility
(This used to be commit 47b626a8f72629fd1bbabf35b68e24d202df2555)
Diffstat (limited to 'source3/registry/reg_util.c')
-rw-r--r-- | source3/registry/reg_util.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/source3/registry/reg_util.c b/source3/registry/reg_util.c index 9fd9dba27d..40b16d0073 100644 --- a/source3/registry/reg_util.c +++ b/source3/registry/reg_util.c @@ -128,26 +128,28 @@ char* reg_remaining_path( const char *key ) /********************************************************************** *********************************************************************/ -int regval_convert_multi_sz( uint16 *multi_string, size_t multi_len, char ***values ) +int regval_convert_multi_sz( uint16 *multi_string, size_t byte_len, char ***values ) { char **sz; int i; int num_strings = 0; fstring buffer; uint16 *wp; + size_t multi_len = byte_len / 2; - *values = NULL; - if ( !multi_string || !values ) return 0; + *values = NULL; + /* just count the NULLs */ - for ( i=0; (i<multi_len-1) && !(multi_string[i]==0x0 && multi_string[i+1]==0x0); i+=2 ) { - if ( multi_string[i] == 0x0 ) + for ( i=0; (i<multi_len-1) && !(multi_string[i]==0x0 && multi_string[i+1]==0x0); i++ ) { + /* peek ahead */ + if ( multi_string[i+1] == 0x0 ) num_strings++; } - + if ( num_strings == 0 ) return 0; |