From f9818a4c96075467f7d2ef28b9725b25b2388665 Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Fri, 16 Dec 2011 09:50:25 +0000
Subject: [PATCH] Fix bug in iniGetBitField(): only if the key is *missing*
 should the default value be used. An empty/blank value means '0' (no bit
 flags). Resolve a couple warnings: 'lp' is assigned a value that is never
 used

---
 src/xpdev/ini_file.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/xpdev/ini_file.c b/src/xpdev/ini_file.c
index 02f346aa96..eeba95e6c0 100644
--- a/src/xpdev/ini_file.c
+++ b/src/xpdev/ini_file.c
@@ -1031,7 +1031,7 @@ iniReadNamedStringList(FILE* fp, const char* section)
 	char*	value;
 	char	str[INI_MAX_LINE_LEN];
 	ulong	items=0;
-	named_string_t** lp=NULL;
+	named_string_t** lp;
 	named_string_t** np;
 
 	if(fp==NULL)
@@ -1079,7 +1079,7 @@ iniGetNamedStringList(str_list_t list, const char* section)
 	char*	value;
 	char	str[INI_MAX_LINE_LEN];
 	ulong	i,items=0;
-	named_string_t** lp=NULL;
+	named_string_t** lp;
 	named_string_t** np;
 
 	if(list==NULL)
@@ -1843,7 +1843,7 @@ ulong iniReadBitField(FILE* fp, const char* section, const char* key,
 	char*	value;
 	char	buf[INI_MAX_VALUE_LEN];
 
-	if((value=read_value(fp,section,key,buf))==NULL)
+	if((value=read_value(fp,section,key,buf))==NULL)	/* missing key */
 		return(deflt);
 
 	return(parseBitField(value,bitdesc));
@@ -1856,7 +1856,7 @@ ulong iniGetBitField(str_list_t list, const char* section, const char* key,
 
 	get_value(list, section, key, NULL, &vp);
 
-	if(vp==NULL || *vp==0)		/* blank value or missing key */
+	if(vp==NULL)		/* missing key */
 		return(deflt);
 
 	return(parseBitField(vp,bitdesc));
-- 
GitLab