summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--maildir/maildirkeywords2.c26
1 files changed, 25 insertions, 1 deletions
diff --git a/maildir/maildirkeywords2.c b/maildir/maildirkeywords2.c
index 4bcbcff..eaa8fbd 100644
--- a/maildir/maildirkeywords2.c
+++ b/maildir/maildirkeywords2.c
@@ -533,9 +533,33 @@ static void scan_updates(const char *dir,
unlink(q);
free(q);
}
-
(*updateInfo)[in].highestN=x;
}
+ else if (x < (*updateInfo)[in].highestN)
+ {
+ char b[NUMBUFSIZE];
+ char *r;
+
+ libmail_str_size_t(x, b);
+
+ r=de->d_name;
+ if (*r == '.')
+ r=strchr(r+1, '.')+1;
+
+ q=malloc(strlen(dir)+strlen(r)+
+ strlen(b)+4);
+
+ if (!q)
+ {
+ closedir(dirp);
+ info->errorOccured= -1;
+ return;
+ }
+
+ sprintf(q, "%s/.%s.%s", dir, b, r);
+ unlink(q);
+ free(q);
+ }
}
if (dirp)