45 |
|
|
46 |
|
void |
47 |
|
newheader( /* identifying line of information header */ |
48 |
< |
char *s, |
48 |
> |
const char *s, |
49 |
|
FILE *fp |
50 |
|
) |
51 |
|
{ |
58 |
|
int |
59 |
|
headidval( /* get header id (return true if is id) */ |
60 |
|
char *r, |
61 |
< |
char *s |
61 |
> |
const char *s |
62 |
|
) |
63 |
|
{ |
64 |
|
const char *cp = HDRSTR; |
74 |
|
int |
75 |
|
dateval( /* convert capture date line to UTC */ |
76 |
|
time_t *tloc, |
77 |
< |
char *s |
77 |
> |
const char *s |
78 |
|
) |
79 |
|
{ |
80 |
|
struct tm tms; |
100 |
|
int |
101 |
|
gmtval( /* convert GMT date line to UTC */ |
102 |
|
time_t *tloc, |
103 |
< |
char *s |
103 |
> |
const char *s |
104 |
|
) |
105 |
|
{ |
106 |
|
struct tm tms; |
171 |
|
int |
172 |
|
formatval( /* get format value (return true if format) */ |
173 |
|
char *r, |
174 |
< |
char *s |
174 |
> |
const char *s |
175 |
|
) |
176 |
|
{ |
177 |
|
const char *cp = FMTSTR; |
190 |
|
|
191 |
|
void |
192 |
|
fputformat( /* put out a format value */ |
193 |
< |
char *s, |
193 |
> |
const char *s, |
194 |
|
FILE *fp |
195 |
|
) |
196 |
|
{ |
207 |
|
void *p |
208 |
|
) |
209 |
|
{ |
210 |
+ |
int rtotal = 0; |
211 |
|
char buf[MAXLINE]; |
212 |
|
|
213 |
|
for ( ; ; ) { |
214 |
+ |
int rval = 0; |
215 |
|
buf[MAXLINE-2] = '\n'; |
216 |
|
if (fgets(buf, MAXLINE, fp) == NULL) |
217 |
|
return(-1); |
218 |
|
if (buf[buf[0]=='\r'] == '\n') |
219 |
< |
return(0); |
219 |
> |
return(rtotal); |
220 |
|
if (buf[MAXLINE-2] != '\n') { |
221 |
|
ungetc(buf[MAXLINE-2], fp); /* prevent false end */ |
222 |
|
buf[MAXLINE-2] = '\0'; |
223 |
|
} |
224 |
< |
if (f != NULL && (*f)(buf, p) < 0) |
224 |
> |
if (f != NULL && (rval = (*f)(buf, p)) < 0) |
225 |
|
return(-1); |
226 |
+ |
rtotal += rval; |
227 |
|
} |
228 |
|
} |
229 |
|
|
250 |
|
|
251 |
|
int |
252 |
|
globmatch( /* check for match of s against pattern p */ |
253 |
< |
char *p, |
254 |
< |
char *s |
253 |
> |
const char *p, |
254 |
> |
const char *s |
255 |
|
) |
256 |
|
{ |
257 |
|
int setmatch; |