]> git.pld-linux.org Git - packages/djbdns.git/blob - djbdns-1.05-multi_tinydns_data.patch
- fix weird suid permissions on dirs (why?)
[packages/djbdns.git] / djbdns-1.05-multi_tinydns_data.patch
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();
This page took 0.074506 seconds and 3 git commands to generate.