The epoch can also show up as 1970-01-01 (depending on timezone), so treat any year...
authorRob Landley <rob@landley.net>
Wed, 19 Nov 2008 04:22:18 +0000 (22:22 -0600)
committerRob Landley <rob@landley.net>
Wed, 19 Nov 2008 04:22:18 +0000 (22:22 -0600)
toys/patch.c

index 41371a3..b1f8d41 100644 (file)
@@ -40,7 +40,7 @@ config PATCH
          a file when all all hunks to that file apply.  Patch prints failed
          hunks to stderr, and exits with nonzero status if any hunks fail.
 
-         A file compared against /dev/null (or with a date in 1969) is
+         A file compared against /dev/null (or with a date <= the epoch) is
          created/deleted as appropriate.
 */
 
@@ -229,12 +229,15 @@ void patch_main(void)
                // Open a new file?
                if (!strncmp("--- ", patchline, 4)) {
                        char *s;
+                       int i;
+
                        free(TT.oldname);
 
                        // Trim date from end of filename (if any).  We don't care.
                        for (s = patchline+4; *s && *s!='\t'; s++)
                                if (*s=='\\' && s[1]) s++;
-                       if (!strncmp(s, "\t1969-12-31", 10))
+                       i = atoi(s);
+                       if (i && i<=1970)
                                TT.oldname = xstrdup("/dev/null");
                        else {
                                *s = 0;