]> git.pond.sub.org Git - empserver/blobdiff - src/lib/common/rdsched.c
Update copyright notice
[empserver] / src / lib / common / rdsched.c
index 685ebc68cb4c4dd313275e1effc97ec8faf8e0cc..fec661c743efd1ee7d38e4bee3da082631c97203 100644 (file)
@@ -1,6 +1,6 @@
 /*
  *  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
@@ -27,7 +27,7 @@
  *  rdsched.c: Read update schedule
  *
  *  Known contributors to this file:
- *     Markus Armbruster, 2007-2010
+ *     Markus Armbruster, 2007-2011
  */
 
 #define _XOPEN_SOURCE 500
@@ -63,7 +63,7 @@ int
 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;
 
@@ -74,23 +74,26 @@ read_schedule(char *fname, time_t sched[], int n, time_t t0, time_t anchor)
                     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;
 }
 
 /*