X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=sbr%2Fseq_setunseen.c;fp=sbr%2Fseq_setunseen.c;h=e628393221d73ea3772941a91a92c8dc737a2046;hp=2bb09b941d20ff98e4add2db2f319481baceca64;hb=a7771fd2e83d64228fb675749fc936151249dbd3;hpb=4b48c047da7d65a6d8db0b88becccdf520bd1f9c diff --git a/sbr/seq_setunseen.c b/sbr/seq_setunseen.c index 2bb09b9..e628393 100644 --- a/sbr/seq_setunseen.c +++ b/sbr/seq_setunseen.c @@ -13,12 +13,11 @@ ** We scan through the folder and act upon all messages ** that are marked with the SELECT_UNSEEN bit. ** -** If seen == 1, delete messages from unseen sequence. -** If seen == 0, add messages to unseen sequence. +** Either add messages to or (if doadd is false) delete messages from +** the unseen sequence(s). */ - void -seq_setunseen(struct msgs *mp, int seen) +seq_setunseen(struct msgs *mp, int doadd) { int n; char **ap, *cp, *dp; @@ -44,7 +43,13 @@ seq_setunseen(struct msgs *mp, int seen) ** bit set to/from each of these sequences. */ for (; *ap; ap++) { - if (seen) { + if (doadd) { + for (n = mp->lowmsg; n <= mp->hghmsg; n++) { + if (is_unseen(mp, n)) { + seq_addmsg(mp, *ap, n, -1, 0); + } + } + } else { /* make sure sequence exists first */ if (seq_getnum(mp, *ap) != -1) { for (n = mp->lowsel; n <= mp->hghsel; n++) { @@ -53,12 +58,6 @@ seq_setunseen(struct msgs *mp, int seen) } } } - } else { - for (n = mp->lowmsg; n <= mp->hghmsg; n++) { - if (is_unseen(mp, n)) { - seq_addmsg(mp, *ap, n, -1, 0); - } - } } }