ref: 20d8cd0d63ee265870629243a31a60622ffafd99
parent: feda48624bd8e5a321e81fbe19e45afa959d1367
author: cinap_lenrek <[email protected]>
date: Tue Sep 1 19:01:45 EDT 2020
upas: appendfolder(): skip the address from unix header before date
--- a/sys/src/cmd/upas/common/folder.c
+++ b/sys/src/cmd/upas/common/folder.c
@@ -186,8 +186,8 @@
int
appendfolder(Biobuf *b, char *addr, int fd)
{
- char *s;
- int r, n;
+ char *s, *t;
+ int r;
Biobuf bin;
Folder *f;
Tm tm;
@@ -196,10 +196,11 @@
Bseek(f->out, 0, 2);
Binit(&bin, fd, OREAD);
s = Brdstr(&bin, '\n', 0);
- n = strlen(s);
- if(!s || strncmp(s, "From ", 5) != 0)
+ if(s == nil || strncmp(s, "From ", 5) != 0)
Bprint(f->out, "From %s %.28s\n", addr, ctime(f->t));
- else if(n > 5 && tmparse(&tm, Ctimefmt, s + 5, nil, nil) != nil)
+ else if(strncmp(s, "From ", 5) == 0
+ && (t = strchr(s + 5, ' ')) != nil
+ && tmparse(&tm, Ctimefmt, t + 1, nil, nil) != nil)
f->t = tm2sec(&tm);
if(s)
Bwrite(f->out, s, strlen(s));