-
-/*
- * This gets called when a user selects multiple messages in a summary
- * list and then clicks to perform a transformation of some sort on them
- * (such as deleting them).
- */
-void do_stuff_to_msgs(void) {
- char buf[256];
-
- struct stuff_t {
- struct stuff_t *next;
- long msgnum;
- };
-
- struct stuff_t *stuff = NULL;
- struct stuff_t *ptr;
- int delete_button_pressed = 0;
-
-
- serv_puts("MSGS ALL");
- serv_getln(buf, sizeof buf);
-
- if (buf[0] == '1') while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
- ptr = malloc(sizeof(struct stuff_t));
- ptr->msgnum = atol(buf);
- ptr->next = stuff;
- stuff = ptr;
- }
-
- if (strlen(bstr("delete_button")) > 0) {
- delete_button_pressed = 1;
- }
-
- while (stuff != NULL) {
-
- sprintf(buf, "msg_%ld", stuff->msgnum);
- if (!strcasecmp(bstr(buf), "yes")) {
-
- if (delete_button_pressed) {
- serv_printf("MOVE %ld|_TRASH_|0", stuff->msgnum);
- serv_getln(buf, sizeof buf);
- }
-
- }
-
- ptr = stuff->next;
- free(stuff);
- stuff = ptr;
- }
-
- readloop("readfwd");
-}