X-Git-Url: https://git.deb.at/w?a=blobdiff_plain;f=database.c;fp=database.c;h=0b9b58e6b1c18e750fa508469727f8f73b364569;hb=baf1c7616dd0a5fa1bafde2045ac2af22d95122a;hp=259c63c6414cf359aa8867f06d209ddaa1412347;hpb=6c9ce0f2451a77170fb630acfc44559adaeed118;p=pkg%2Fabook.git diff --git a/database.c b/database.c index 259c63c..0b9b58e 100644 --- a/database.c +++ b/database.c @@ -100,39 +100,38 @@ parse_database(FILE *in) for(;;) { line = getaline(in); - if( feof(in) ) { - if( item[NAME] && sec ) + if(feof(in)) { + if(item[NAME] && sec) add_item2database(item); else free_list_item(item); break; } - if( !*line || *line == '\n' || *line == '#' ) { - free(line); - continue; - } else if( *line == '[' ) { + if(!*line || *line == '\n' || *line == '#') { + goto next; + } else if(*line == '[') { if( item[NAME] && sec ) add_item2database(item); else free_list_item(item); memset(&item, 0, sizeof(item)); sec = 1; - if ( !(tmp = strchr(line, ']'))) + if(!(tmp = strchr(line, ']'))) sec = 0; /*incorrect section lines are skipped*/ - } else if((tmp = strchr(line, '=') ) && sec ) { + } else if((tmp = strchr(line, '=') ) && sec) { *tmp++ = '\0'; - for(i=0; i