/*
* Empire - A multi-player, client/server Internet based war game.
- * Copyright (C) 1986-2011, Dave Pare, Jeff Bailey, Thomas Ruschak,
+ * Copyright (C) 1986-2014, Dave Pare, Jeff Bailey, Thomas Ruschak,
* Ken Stevens, Steve McClure, Markus Armbruster
*
* Empire is free software: you can redistribute it and/or modify
* rdsched.c: Read update schedule
*
* Known contributors to this file:
- * Markus Armbruster, 2007-2008
+ * Markus Armbruster, 2007-2011
*/
#define _XOPEN_SOURCE 500
read_schedule(char *fname, time_t sched[], int n, time_t t0, time_t anchor)
{
FILE *fp;
- int lno = 0;
+ int ret, lno;
char buf[1024];
char *endp;
fname, strerror(errno));
return -1;
}
- } else {
+ } else
fp = stdin;
- fname = "<stdin>";
- }
+ ret = lno = 0;
sched[0] = 0;
while (fgets(buf, sizeof(buf), fp) != NULL) {
++lno;
endp = strchr(buf, '#');
if (endp)
*endp = 0;
- if (parse_schedule_line(buf, sched, n, t0, &anchor, fname, lno))
- return -1;
+ if (parse_schedule_line(buf, sched, n, t0, &anchor,
+ fname ? fname : "<stdin>", lno)) {
+ ret = -1;
+ break;
+ }
}
- fclose(fp);
- return 0;
+ if (fname)
+ fclose(fp);
+ return ret;
}
/*