]> git.pld-linux.org Git - packages/djbdns.git/blame - djbdns-1.05-multi_tinydns_data.patch
- kosher Makefiles
[packages/djbdns.git] / djbdns-1.05-multi_tinydns_data.patch
CommitLineData
68212ead 1diff -ruN djbdns-1.05.orig/tinydns-data.c djbdns-1.05/tinydns-data.c
2--- djbdns-1.05.orig/tinydns-data.c Mon Jan 22 03:51:44 2001
3+++ djbdns-1.05/tinydns-data.c Mon Jan 29 18:12:47 2001
4@@ -159,11 +159,7 @@
5 die_datatmp();
6 }
7
8-buffer b;
9-char bspace[1024];
10-
11 static stralloc line;
12-int match = 1;
13 unsigned long linenum = 0;
14
15 #define NUMFIELDS 15
16@@ -181,7 +177,7 @@
17 strerr_die4x(111,FATAL,"unable to parse data line ",strnum,why);
18 }
19
20-int main()
21+int load(const char *fname)
22 {
23 int fddata;
24 int i;
25@@ -196,20 +192,18 @@
26 char type[2];
27 char soa[20];
28 char buf[4];
29+ int match;
30+ buffer b;
31+ char bspace[1024];
32
33- umask(022);
34-
35- fddata = open_read("data");
36+ fddata = open_read(fname);
37 if (fddata == -1)
38- strerr_die2sys(111,FATAL,"unable to open data: ");
39+ strerr_die4sys(111,FATAL,"unable to open ",fname,": ");
40 defaultsoa_init(fddata);
41
42 buffer_init(&b,buffer_unixread,fddata,bspace,sizeof bspace);
43
44- fdcdb = open_trunc("data.tmp");
45- if (fdcdb == -1) die_datatmp();
46- if (cdb_make_start(&cdb,fdcdb) == -1) die_datatmp();
47-
48+ match = 1;
49 while (match) {
50 ++linenum;
51 if (getln(&b,&line,&match,'\n') == -1)
52@@ -444,6 +438,21 @@
53 default:
54 syntaxerror(": unrecognized leading character");
55 }
56+ }
57+ close(fddata);
58+}
59+
60+main(int argc, char **argv)
61+{
62+ umask(022);
63+ fdcdb = open_trunc("data.tmp");
64+ if (fdcdb == -1) die_datatmp();
65+ if (cdb_make_start(&cdb,fdcdb) == -1) die_datatmp();
66+
67+ if (argc == 1)
68+ load("data");
69+ while(--argc) {
70+ load(argv[argc]);
71 }
72
73 if (cdb_make_finish(&cdb) == -1) die_datatmp();
This page took 0.069391 seconds and 4 git commands to generate.