X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=ini.c;h=5b02ef800c6465378e6036ea4516dd879fd94e66;hb=bb6c47f77f59067c358579a71cefa1ae65180a30;hp=5509547948da82d6ebcc1b5e1b2cbeef465e5e6a;hpb=5eed4adb3552562329c0b0b460c8851efb1a38bb;p=polyglot.git diff --git a/ini.c b/ini.c index 5509547..5b02ef8 100644 --- a/ini.c +++ b/ini.c @@ -209,6 +209,19 @@ void ini_clear(ini_t *ini){ ini->index=0; } +// ini_copy() + +void ini_copy(ini_t *dst, ini_t *src){ + int i; + dst->index=src->index; + dst->iter=src->iter; + for(i=0;iindex;i++){ + my_string_set(&dst->entries[i].section,src->entries[i].section); + my_string_set(&dst->entries[i].name,src->entries[i].name); + my_string_set(&dst->entries[i].value,src->entries[i].value); + } +} + // ini_find() ini_entry_t *ini_find(ini_t *ini, const char *section, const char* name){ @@ -292,7 +305,9 @@ int ini_parse(ini_t *ini, const char *filename){ }else if(result==NAME_VALUE){ ini_insert_ex(ini,current_section,name,value); }else if(result==SYNTAX_ERROR){ - my_fatal("ini_parse(): Syntax error in \"%s\": line %d\n", + // Dirty hack. + // The "not found" triggers xboard to show the error. + my_fatal("ini_parse(): Syntax error in \"%s\": line %d (not found)\n", filename, line_nr); @@ -309,7 +324,6 @@ int ini_parse(ini_t *ini, const char *filename){ void ini_disp(ini_t *ini){ int i; - my_log("POLYGLOT Current options\n"); for(i=0;iindex;i++){ my_log("POLYGLOT [%s] %s=\"%s\"\n", (ini->entries)[i].section, @@ -334,5 +348,4 @@ ini_entry_t * ini_next(ini_t *ini){ return &ini->entries[ini->iter++]; } -// ini_create_pg()