fix inconsistent signature of __libc_start_main
[musl] / src / time / getdate.c
index 26a4897..420cd8e 100644 (file)
@@ -22,7 +22,7 @@ struct tm *getdate(const char *s)
                goto out;
        }
 
-       f = fopen(datemsk, "r");
+       f = fopen(datemsk, "rbe");
        if (!f) {
                if (errno == ENOMEM) getdate_err = 6;
                else getdate_err = 2;
@@ -31,15 +31,14 @@ struct tm *getdate(const char *s)
 
        while (fgets(fmt, sizeof fmt, f)) {
                p = strptime(s, fmt, &tmbuf);
-dprintf(2, "%s %s\n", s, fmt);
-dprintf(2, "%p %d\n", p, p?*p:0);
                if (p && !*p) {
                        ret = &tmbuf;
                        goto out;
                }
        }
 
-       getdate_err = 7;
+       if (ferror(f)) getdate_err = 5;
+       else getdate_err = 7;
 out:
        if (f) fclose(f);
        pthread_setcancelstate(cs, 0);