total_msgs = 0;
selected_msg = 0;
- serv_puts("MSGS ALL");
- serv_gets(buf);
- if (buf[0] == '1') {
- while (serv_gets(buf), strcmp(buf, "000")) {
- ++total_msgs;
- if ((random() % total_msgs) == 0) {
- selected_msg = atol(buf);
+ do {
+ serv_puts("MSGS ALL");
+ serv_gets(buf);
+ if (buf[0] == '1') {
+ while (serv_gets(buf), strcmp(buf, "000")) {
+ ++total_msgs;
+ if ((random() % total_msgs) == 0) {
+ selected_msg = atol(buf);
+ }
}
}
- }
- snprintf(buf, sizeof buf, "DELE %ld", selected_msg);
- serv_puts(buf);
- serv_gets(buf);
+ snprintf(buf, sizeof buf, "DELE %ld", selected_msg);
+ serv_puts(buf);
+ serv_gets(buf);
+ } while(buf[0] != '2'); // make sure we always delete exactly one message
}
}