diff --git a/source/libublsettings-config.c b/source/libublsettings-config.c index 9436623..b4c14b7 100644 --- a/source/libublsettings-config.c +++ b/source/libublsettings-config.c @@ -602,12 +602,12 @@ int yon_config_remove_by_key(char *key){ check_config{ dictionary *dict = yon_dictionary_get((dictionary**)&__yon__config__strings,key); if (dict){ - // if (!yon_dictionary_get(&__yon_config_ignored,dict->key)){ + if (!yon_char_is_empty(dict->data)){ yon_config_remove_ignore(dict->key); ((yon_config_parameter*)dict)->flag1=-1; dict->data=""; return 1; - // } else return 0; + } } } return 0; @@ -619,10 +619,12 @@ int yon_config_remove_by_list(config_str keys, size_t size){ for (size_t i = 0;ikey); - ((yon_config_parameter*)dict)->flag1=-1; - dict->data=""; - result=1; + if (!yon_char_is_empty(dict->data)){ + yon_config_remove_ignore(dict->key); + ((yon_config_parameter*)dict)->flag1=-1; + dict->data=""; + result=1; + } } } } @@ -638,10 +640,12 @@ int yon_config_remove_by_args(char *key, ...){ while (!yon_char_is_empty(cur_key)){ dictionary *dict = yon_dictionary_get((dictionary**)&__yon__config__strings,cur_key); if (dict){ - yon_config_remove_ignore(dict->key); - ((yon_config_parameter*)dict)->flag1=-1; - dict->data=""; - result=1; + if (!yon_char_is_empty(dict->data)){ + yon_config_remove_ignore(dict->key); + ((yon_config_parameter*)dict)->flag1=-1; + dict->data=""; + result=1; + } } cur_key = va_arg(args,char*); }