summaryrefslogtreecommitdiff
path: root/sys/src
diff options
context:
space:
mode:
authorOri Bernstein <ori@eigenstate.org>2021-02-01 20:38:40 -0800
committerOri Bernstein <ori@eigenstate.org>2021-02-01 20:38:40 -0800
commit34ed7f7aa25b3d4b6990d454b63b6b11441c3e5a (patch)
treeb42041efb9706c310d6c537f164d475cd9485876 /sys/src
parentc20f68f8017f98df3613108a17087d56125392b7 (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.c3
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;