summaryrefslogtreecommitdiff
path: root/source3/registry/reg_util.c
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2005-10-18 03:21:59 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 11:05:02 -0500
commitafca439d19e3d9e67b127d7060df630e2218bcb2 (patch)
tree91e53687abea4019a542a20d1ec1862f6b447bdc /source3/registry/reg_util.c
parent6f72169c7cee4d8334c15e3add711cd1716e618a (diff)
downloadsamba-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.c14
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;