+
+ for (i = 0; i < IMAP->num_msgs; ++i) {
+ IMAP->flags[i] = IMAP->flags[i] & ~IMAP_SEEN;
+ IMAP->flags[i] |= IMAP_RECENT;
+ IMAP->flags[i] = IMAP->flags[i] & ~IMAP_ANSWERED;
+ }
+
+ /* Do the "\Seen" flag. (Any message not "\Seen" is considered "\Recent".) */
+ num_sets = num_tokens(vbuf.v_seen, ',');
+ for (s=0; s<num_sets; ++s) {
+ extract_token(setstr, vbuf.v_seen, s, ',', sizeof setstr);
+
+ extract_token(lostr, setstr, 0, ':', sizeof lostr);
+ if (num_tokens(setstr, ':') >= 2) {
+ extract_token(histr, setstr, 1, ':', sizeof histr);
+ if (!strcmp(histr, "*")) {
+ snprintf(histr, sizeof histr, "%ld", LONG_MAX);
+ }
+ }
+ else {
+ strcpy(histr, lostr);
+ }
+ lo = atol(lostr);
+ hi = atol(histr);
+