diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2011-05-18 12:37:57 +0300 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2011-05-18 12:37:57 +0300 |
commit | f46531f8627326bb31f75250096986d162ce5fdb (patch) | |
tree | 46711a8fbfec60f0a99748cbe376b8240a70e25b | |
parent | 768689775c020ae36a0de7b3fdc166777685bd6e (diff) | |
download | nssync-f46531f8627326bb31f75250096986d162ce5fdb.tar.gz nssync-f46531f8627326bb31f75250096986d162ce5fdb.tar.bz2 |
Print to a specified output file.
-rw-r--r-- | src/nssync.c | 2 | ||||
-rw-r--r-- | src/nssync.h | 1 | ||||
-rw-r--r-- | src/output.c | 70 |
3 files changed, 39 insertions, 34 deletions
diff --git a/src/nssync.c b/src/nssync.c index ce55bc4..6360fc2 100644 --- a/src/nssync.c +++ b/src/nssync.c @@ -53,3 +53,3 @@ main(int argc, char **argv) sql_connect(); - format_soa(); + format_soa(stdout); //FIXME diff --git a/src/nssync.h b/src/nssync.h index aef5fa4..028d6a0 100644 --- a/src/nssync.h +++ b/src/nssync.h @@ -65,2 +65,3 @@ int sql_do_query(const char *query, +void format_soa(FILE *fp); diff --git a/src/output.c b/src/output.c index 3a6ba35..72a09c1 100644 --- a/src/output.c +++ b/src/output.c @@ -30,2 +30,3 @@ format_ns_record(MYSQL_ROW row, unsigned nf, void *data) { + FILE *fp = data; if (nf != _ns_nfields) { @@ -35,4 +36,4 @@ format_ns_record(MYSQL_ROW row, unsigned nf, void *data) /* FIXME: TTL */ - printf("\t%s\t%s\n", - row[f_ns_type], row[f_ns_data]); + fprintf(fp, "\t%s\t%s\n", + row[f_ns_type], row[f_ns_data]); return 0; @@ -53,2 +54,3 @@ format_rr_record(MYSQL_ROW row, unsigned nf, void *data) { + FILE *fp = data; if (nf != _rr_nfields) { @@ -60,9 +62,9 @@ format_rr_record(MYSQL_ROW row, unsigned nf, void *data) if (strcasecmp(row[f_rr_type], "MX") == 0) - printf("%s\t%s\tMX\t%s\t%s\n", - row[f_rr_host], S(row[f_rr_ttl]), - row[f_rr_priority], row[f_rr_data]); + fprintf(fp, "%s\t%s\tMX\t%s\t%s\n", + row[f_rr_host], S(row[f_rr_ttl]), + row[f_rr_priority], row[f_rr_data]); else - printf("%s\t%s\t%s\t%s\n", - row[f_rr_host], S(row[f_rr_ttl]), - row[f_rr_type], row[f_rr_data]); + fprintf(fp, "%s\t%s\t%s\t%s\n", + row[f_rr_host], S(row[f_rr_ttl]), + row[f_rr_type], row[f_rr_data]); return 0; @@ -98,2 +100,3 @@ format_soa_record(MYSQL_ROW row, unsigned nf, void *data) { + FILE *fp = data; struct wordsplit ws; @@ -107,21 +110,22 @@ format_soa_record(MYSQL_ROW row, unsigned nf, void *data) return 0; - printf("$ORIGIN .\n"); + fprintf(fp, "$ORIGIN .\n"); if (row[f_soa_ttl]) - printf("$TTL %s\n", row[f_soa_ttl]); - printf("%s %s IN SOA %s %s (\n" - "\t%s ; Serial\n" - "\t%s ; Refresh\n" - "\t%s ; Retry\n" - "\t%s ; Expire\n" - "\t%s) ; Minimum\n", - row[f_soa_zone], - S(row[f_soa_ttl]), - row[f_soa_data], - row[f_soa_person], - row[f_soa_serial], - row[f_soa_refresh], - row[f_soa_retry], - row[f_soa_expire], - row[f_soa_minimum]); - + fprintf(fp, "$TTL %s\n", row[f_soa_ttl]); + fprintf(fp, + "%s %s IN SOA %s %s (\n" + "\t%s ; Serial\n" + "\t%s ; Refresh\n" + "\t%s ; Retry\n" + "\t%s ; Expire\n" + "\t%s) ; Minimum\n", + row[f_soa_zone], + S(row[f_soa_ttl]), + row[f_soa_data], + row[f_soa_person], + row[f_soa_serial], + row[f_soa_refresh], + row[f_soa_retry], + row[f_soa_expire], + row[f_soa_minimum]); + env[0] = "zone"; @@ -129,3 +133,3 @@ format_soa_record(MYSQL_ROW row, unsigned nf, void *data) env[2] = 0; - + ws.ws_env = env; @@ -138,3 +142,3 @@ format_soa_record(MYSQL_ROW row, unsigned nf, void *data) - if (sql_do_query(ws.ws_wordv[0], format_ns_record, NULL)) + if (sql_do_query(ws.ws_wordv[0], format_ns_record, fp)) exit(EX_UNAVAILABLE); @@ -148,6 +152,6 @@ format_soa_record(MYSQL_ROW row, unsigned nf, void *data) } - - if (sql_do_query(ws.ws_wordv[0], format_rr_record, NULL)) + + if (sql_do_query(ws.ws_wordv[0], format_rr_record, fp)) exit(EX_UNAVAILABLE); - + wordsplit_free(&ws); @@ -158,5 +162,5 @@ format_soa_record(MYSQL_ROW row, unsigned nf, void *data) void -format_soa() +format_soa(FILE *fp) { - if (sql_do_query(soa_query, format_soa_record, NULL)) + if (sql_do_query(soa_query, format_soa_record, fp)) exit(EX_UNAVAILABLE); |