summaryrefslogtreecommitdiff
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
parentc20f68f8017f98df3613108a17087d56125392b7 (diff)
downloadplan9front-34ed7f7aa25b3d4b6990d454b63b6b11441c3e5a.tar.xz
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.
-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;