diff --git a/src/xpdev/ini_file.c b/src/xpdev/ini_file.c index c77a751f40dec149bc2891c9c9a22759ab6d8512..b3a82ed59be01cfa52833e4e8e5290e3c7241708 100644 --- a/src/xpdev/ini_file.c +++ b/src/xpdev/ini_file.c @@ -258,6 +258,20 @@ BOOL iniRemoveValue(str_list_t* list, const char* section, const char* key) return(TRUE); } +BOOL iniRemoveSection(str_list_t* list, const char* section) +{ + size_t i; + + i=find_section_index(*list,section); + if((*list)[i]==NULL) /* not found */ + return(FALSE); + do { + strListDelete(list,i); + } while((*list)[i]!=NULL && *(*list)[i]!=INI_OPEN_SECTION_CHAR); + + return(TRUE); +} + size_t iniAddSection(str_list_t* list, const char* section ,ini_style_t* style) { diff --git a/src/xpdev/ini_file.h b/src/xpdev/ini_file.h index 356558e1a5ac6932eee00c88bf0051fc31f635a9..a12958590b3be94cf13dbf8884079f791557e2fc 100644 --- a/src/xpdev/ini_file.h +++ b/src/xpdev/ini_file.h @@ -125,6 +125,7 @@ BOOL iniKeyExists(str_list_t*, const char* section, const char* key); BOOL iniValueExists(str_list_t*, const char* section, const char* key); BOOL iniRemoveKey(str_list_t*, const char* section, const char* key); BOOL iniRemoveValue(str_list_t*, const char* section, const char* key); +BOOL iniRemoveSection(str_list_t*, const char* section); #if defined(__cplusplus) }