6 static stralloc data
= {0};
11 strerr_die2x(111,fatal
,"out of memory");
14 int getconf(sa
,fn
,flagrequired
,fatal
,dir
)
25 if (!stralloc_copys(&data
,""))
27 switch(slurp(fn
,&data
,128)) {
29 strerr_die6sys(111,fatal
,"unable to read ",dir
,"/",fn
,": ");
33 strerr_die5x(100,fatal
,dir
,"/",fn
," does not exist");
35 if (!stralloc_append(&data
,"\n")) nomem(fatal
);
36 if (!stralloc_copys(sa
,"")) nomem(fatal
);
38 for (j
= 0;j
< data
.len
;++j
)
39 if (data
.s
[j
] == '\n') {
41 while ((k
> i
) && ((data
.s
[k
-1] == ' ') || (data
.s
[k
-1] == '\t'))) --k
;
42 if ((k
> i
) && (data
.s
[i
] != '#')) {
43 if (!stralloc_catb(sa
,data
.s
+ i
,k
- i
)) nomem(fatal
);
44 if (!stralloc_0(sa
)) nomem(fatal
);
51 int getconf_line(sa
,fn
,flagrequired
,fatal
,dir
)
58 if (!getconf(sa
,fn
,flagrequired
,fatal
,dir
)) return 0;
59 sa
->len
= byte_chr(sa
->s
,sa
->len
,0);