diff options
author | Nick White <arch@njw.me.uk> | 2007-03-04 23:42:25 +0000 |
---|---|---|
committer | Nick White <arch@njw.me.uk> | 2007-03-04 23:42:25 +0000 |
commit | 9548ce6885325c0772cf3d83ad40076844d4d846 (patch) | |
tree | 20686cef1c437ee8badc1347b819020dd2eaacb7 | |
parent | fd2024792f768e6c347c345468c84b152a62bb11 (diff) |
Fixed bug causing segfault if -a -n/m were passed together
Issue structure was passed incorrectly to parsemedia
Fixed fill correct issue(s) if it already exists
Added default no_of_media to -1
git-archimport-id: getht@sv.gnu.org/getht--mainline--0.1--patch-4
-rw-r--r-- | getht.c | 2 | ||||
-rw-r--r-- | mediaxml.c | 7 | ||||
-rw-r--r-- | tocxml.c | 1 |
3 files changed, 6 insertions, 4 deletions
@@ -191,7 +191,7 @@ int main(int argc, char *argv[]) med * cur_media; int newest; - issue = parsemedia(media_xml, &issue, &no_of_issues); + issue = parsemedia(media_xml, issue, &no_of_issues); if(downlatestmedia) { @@ -190,10 +190,11 @@ iss ** parsemedia(char * filepath, iss ** issue, int * no_of_issues) strncpy(issue[*no_of_issues]->title, (char *) xmlGetProp(node, "title"), STR_MAX); - issue[*no_of_issues]->no_of_media = -1; + tmp = *no_of_issues; } - cur_media = issue[(*no_of_issues)]->media; + issue[tmp]->no_of_media = -1; + cur_media = issue[tmp]->media; itnode = node->xmlChildrenNode; @@ -215,7 +216,7 @@ iss ** parsemedia(char * filepath, iss ** issue, int * no_of_issues) strncpy(cur_media->title, (char *) xmlNodeListGetString(media_file, itnode->xmlChildrenNode, 1), STR_MAX); - issue[*no_of_issues]->no_of_media++; + issue[tmp]->no_of_media++; cur_media++; } @@ -94,6 +94,7 @@ iss ** parsetoc(char *filepath, int * iss_no, int * latest) issue = tmp; + issue[no_of_issues]->no_of_media = -1; /* set default no of media */ issue[no_of_issues]->date.year = atoi( (const char *)(xmlStrsub(node->name,5,4)) ); tokenise_hyphons(xmlStrsub(cnode->name,6,5), &(issue[no_of_issues]->date.firstmonth), &(issue[no_of_issues]->date.lastmonth)); issue[no_of_issues]->no_of_sections = parseissue(file, cnode, issue[no_of_issues], latest); |