diff options
author | Ori Bernstein <ori@eigenstate.org> | 2021-02-01 20:38:40 -0800 |
---|---|---|
committer | Ori Bernstein <ori@eigenstate.org> | 2021-02-01 20:38:40 -0800 |
commit | 34ed7f7aa25b3d4b6990d454b63b6b11441c3e5a (patch) | |
tree | b42041efb9706c310d6c537f164d475cd9485876 /sys/src | |
parent | c20f68f8017f98df3613108a17087d56125392b7 (diff) |
Mail: only clear upas-maintained flags on change (thanks deuteron)
When message flags change, Mail would clear all the flags and
recompute them. This would clobber internal flags like Ftodel.
So, don't do that.
Diffstat (limited to 'sys/src')
-rw-r--r-- | sys/src/cmd/upas/Mail/mbox.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/src/cmd/upas/Mail/mbox.c b/sys/src/cmd/upas/Mail/mbox.c index bf289378d..5b05dc529 100644 --- a/sys/src/cmd/upas/Mail/mbox.c +++ b/sys/src/cmd/upas/Mail/mbox.c @@ -321,7 +321,7 @@ change(char *name, char *digest) return nil; free(m->mflags); m->mflags = f; - m->flags = 0; + m->flags &= ~(Fdel|Fseen|Fresp); if(strchr(m->mflags, 'd')) m->flags |= Fdel; if(strchr(m->mflags, 's')) m->flags |= Fseen; if(strchr(m->mflags, 'a')) m->flags |= Fresp; @@ -797,7 +797,6 @@ changemesg(Plumbmsg *pm) digest = plumblookup(pm->attr, "digest"); action = plumblookup(pm->attr, "mailtype"); -// fprint(2, "changing message %s, %s %s\n", action, pm->data, digest); if(strcmp(action, "new") == 0){ if((m = load(pm->data, digest, 1)) == nil) return; |