(void) fprintf(stderr, _("%s: Error reading "), progname); (void) perror(filename);
(void) fprintf(stderr, _("%s: Error reading %s\n"), progname, filename);
infile(name)const char *	name;{	register FILE *			fp;	register char **		fields;	register char *			cp;	register const struct lookup *	lp;	register int			nfields;	register int			wantcont;	register int			num;	char				buf[BUFSIZ];	if (strcmp(name, "-") == 0) {		name = _("standard input");		fp = stdin;	} else if ((fp = fopen(name, "r")) == NULL) {		(void) fprintf(stderr, _("%s: Can't open "), progname);		(void) perror(name);		(void) exit(EXIT_FAILURE);	}	wantcont = FALSE;	for (num = 1; ; ++num) {		eat(name, num);		if (fgets(buf, (int) sizeof buf, fp) != buf)			break;		cp = strchr(buf, '\n');		if (cp == NULL) {			error(_("line too long"));			(void) exit(EXIT_FAILURE);		}		*cp = '\0';		fields = getfields(buf);		nfields = 0;		while (fields[nfields] != NULL) {			static char	nada;			if (strcmp(fields[nfields], "-") == 0)				fields[nfields] = &nada;			++nfields;		}		if (nfields == 0) {			/* nothing to do */		} else if (wantcont) {			wantcont = inzcont(fields, nfields);		} else {			lp = byword(fields[0], line_codes);			if (lp == NULL)				error(_("input line of unknown type"));			else switch ((int) (lp->l_value)) {				case LC_RULE:					inrule(fields, nfields);					wantcont = FALSE;					break;				case LC_ZONE:					wantcont = inzone(fields, nfields);					break;				case LC_LINK:					inlink(fields, nfields);					wantcont = FALSE;					break;				case LC_LEAP:					if (name != leapsec)						(void) fprintf(stderr,_("%s: Leap line in non leap seconds file %s\n"),							progname, name);					else	inleap(fields, nfields);					wantcont = FALSE;					break;				default:	/* "cannot happen" */					(void) fprintf(stderr,_("%s: panic: Invalid l_value %d\n"),						progname, lp->l_value);					(void) exit(EXIT_FAILURE);			}		}		ifree((char *) fields);	}	if (ferror(fp)) {		(void) fprintf(stderr, _("%s: Error reading "), progname);		(void) perror(filename);		(void) exit(EXIT_FAILURE);	}	if (fp != stdin && fclose(fp)) {		(void) fprintf(stderr, _("%s: Error closing "), progname);		(void) perror(filename);		(void) exit(EXIT_FAILURE);	}	if (wantcont)		error(_("expected continuation line not found"));}