]>
Commit | Line | Data |
---|---|---|
68212ead | 1 | diff -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(); |