Fixed remove config checking if it was already removed #93

Merged
asmeron merged 4 commits from YanTheKaller/libublsettings:master into master 3 weeks ago

@ -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;i<size;i++){
dictionary *dict = yon_dictionary_get((dictionary**)&__yon__config__strings,keys[i]);
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;
}
}
}
}
@ -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*);
}

Loading…
Cancel
Save