void _write_one_node(FILE * fp, struct ban_list_element * node) { if (node) { _write_one_node(fp, node->next); fprintf(fp, "%s %s %ld %s\n", ban_types[node->type], node->site, (long) node->date, node->name); } }
void write_ban_list(void) { FILE *fl; if (!(fl = fopen(BAN_FILE, "w"))) { perror("SYSERR: Unable to open '" BAN_FILE "' for writing"); return; } _write_one_node(fl, ban_list);/* recursively write from end to start */ fclose(fl); return; }