summaryrefslogtreecommitdiff
path: root/sys/src/cmd/upas/fs
diff options
context:
space:
mode:
authorOri Bernstein <ori@eigenstate.org>2020-09-26 11:20:42 -0700
committerOri Bernstein <ori@eigenstate.org>2020-09-26 11:20:42 -0700
commitd9f9e10e7b3ad61342ec1d9b034dd17f8452ccbc (patch)
tree3a0b155a8b2273cfe41110fe0a15ce50d6eb1e4f /sys/src/cmd/upas/fs
parent9afa5550f7497f84fb157ba07ff94301dbe06bcc (diff)
upas: convert to tmdate, change timezone format
Complete the conversion of upas to remove ctime, use the new date library, and print time zones in +hhmm format, instead of NNN format. This may affect code that expects specific names for timezones. Fix that code.
Diffstat (limited to 'sys/src/cmd/upas/fs')
-rw-r--r--sys/src/cmd/upas/fs/extra/strtotmtst.c3
-rw-r--r--sys/src/cmd/upas/fs/fs.c8
-rw-r--r--sys/src/cmd/upas/fs/mbox.c6
-rw-r--r--sys/src/cmd/upas/fs/plan9.c2
4 files changed, 10 insertions, 9 deletions
diff --git a/sys/src/cmd/upas/fs/extra/strtotmtst.c b/sys/src/cmd/upas/fs/extra/strtotmtst.c
index 074e10e2c..fa448519c 100644
--- a/sys/src/cmd/upas/fs/extra/strtotmtst.c
+++ b/sys/src/cmd/upas/fs/extra/strtotmtst.c
@@ -8,9 +8,10 @@ main(int argc, char **argv)
ARGBEGIN{
}ARGEND
+ tmfmtinstall();
for(; *argv; argv++)
if(strtotm(*argv, &tm) >= 0)
- print("%s", asctime(&tm));
+ print("%τ\n", tmfmt(&tm, nil));
else
print("bad\n");
exits("");
diff --git a/sys/src/cmd/upas/fs/fs.c b/sys/src/cmd/upas/fs/fs.c
index ae9180387..9ce9399c6 100644
--- a/sys/src/cmd/upas/fs/fs.c
+++ b/sys/src/cmd/upas/fs/fs.c
@@ -174,16 +174,15 @@ Afmt(Fmt *f)
static int
Δfmt(Fmt *f)
{
- char buf[32];
uvlong v;
+ Tm tm;
v = va_arg(f->args, uvlong);
if(f->flags & FmtSharp)
if((v>>8) == 0)
return fmtstrcpy(f, "");
- strcpy(buf, ctime(v>>8));
- buf[28] = 0;
- return fmtstrcpy(f, buf);
+ tmtime(&tm, v>>8, tzload("local"));
+ return fmtprint(f, "%τ", tmfmt(&tm, "WW MMM _D hh:mm:ss Z YYYY"));
}
static int
@@ -320,6 +319,7 @@ main(int argc, char *argv[])
fmtinstall(L'Δ', Δfmt);
fmtinstall('F', fcallfmt);
fmtinstall('H', encodefmt); /* forces tls stuff */
+ tmfmtinstall();
quotefmtinstall();
if(pipe(p) < 0)
error("pipe failed");
diff --git a/sys/src/cmd/upas/fs/mbox.c b/sys/src/cmd/upas/fs/mbox.c
index 84d892b49..7baa73860 100644
--- a/sys/src/cmd/upas/fs/mbox.c
+++ b/sys/src/cmd/upas/fs/mbox.c
@@ -366,11 +366,11 @@ datesec(Mailbox *mb, Message *m)
if(m->fileid > 1000000ull<<8)
return;
if(m->unixdate && strtotm(m->unixdate, &tm) >= 0)
- v = tm2sec(&tm);
+ v = tmnorm(&tm);
else if(m->date822 && strtotm(m->date822, &tm) >= 0)
- v = tm2sec(&tm);
+ v = tmnorm(&tm);
else if(rxtotm(m, &tm) >= 0)
- v = tm2sec(&tm);
+ v = tmnorm(&tm);
else{
logmsg(gettopmsg(mb, m), "%s:%s: datasec %s %s\n", mb->path,
m->whole? m->whole->name: "?",
diff --git a/sys/src/cmd/upas/fs/plan9.c b/sys/src/cmd/upas/fs/plan9.c
index 2c793b40a..11fe1223a 100644
--- a/sys/src/cmd/upas/fs/plan9.c
+++ b/sys/src/cmd/upas/fs/plan9.c
@@ -34,7 +34,7 @@ chkunix0(char *s, int n)
return -1;
if(memtotm(p, n - (p - s), &tm) < 0)
return -1;
- if(tm2sec(&tm) < 1000000)
+ if(tmnorm(&tm) < 1000000)
return -1;
return 0;
}