Possible fix for new message bug
This commit is contained in:
parent
2c84834caf
commit
252ad3bcc9
34
mail_menu.c
34
mail_menu.c
@ -431,7 +431,6 @@ char *editor(int socket, struct user_record *user, char *quote, char *from) {
|
|||||||
memset(next_line_buffer, 0, 80);
|
memset(next_line_buffer, 0, 80);
|
||||||
|
|
||||||
if (quote != NULL) {
|
if (quote != NULL) {
|
||||||
//wrap(quote, 65);
|
|
||||||
for (i=0;i<strlen(quote);i++) {
|
for (i=0;i<strlen(quote);i++) {
|
||||||
if (quote[i] == '\r' || lineat == 67) {
|
if (quote[i] == '\r' || lineat == 67) {
|
||||||
if (quotelines == 0) {
|
if (quotelines == 0) {
|
||||||
@ -1235,6 +1234,7 @@ int mail_menu(int socket, struct user_record *user) {
|
|||||||
lua_State *L;
|
lua_State *L;
|
||||||
int result;
|
int result;
|
||||||
int sem_fd;
|
int sem_fd;
|
||||||
|
int all_unread = 0;
|
||||||
|
|
||||||
if (conf.script_path != NULL) {
|
if (conf.script_path != NULL) {
|
||||||
sprintf(buffer, "%s/mailmenu.lua", conf.script_path);
|
sprintf(buffer, "%s/mailmenu.lua", conf.script_path);
|
||||||
@ -1290,9 +1290,11 @@ int mail_menu(int socket, struct user_record *user) {
|
|||||||
printf("Error opening JAM base.. %s\n", conf.mail_conferences[user->cur_mail_conf]->mail_areas[user->cur_mail_area]->path);
|
printf("Error opening JAM base.. %s\n", conf.mail_conferences[user->cur_mail_conf]->mail_areas[user->cur_mail_area]->path);
|
||||||
break;
|
break;
|
||||||
} else {
|
} else {
|
||||||
|
all_unread = 0;
|
||||||
if (JAM_ReadLastRead(jb, user->id, &jlr) == JAM_NO_USER) {
|
if (JAM_ReadLastRead(jb, user->id, &jlr) == JAM_NO_USER) {
|
||||||
jlr.LastReadMsg = 0;
|
jlr.LastReadMsg = 0;
|
||||||
jlr.HighReadMsg = 0;
|
jlr.HighReadMsg = 0;
|
||||||
|
all_unread = 1;
|
||||||
}
|
}
|
||||||
JAM_CloseMB(jb);
|
JAM_CloseMB(jb);
|
||||||
sprintf(buffer, "Read message [1-%d] or N for New: ", msghs->msg_count);
|
sprintf(buffer, "Read message [1-%d] or N for New: ", msghs->msg_count);
|
||||||
@ -1300,13 +1302,17 @@ int mail_menu(int socket, struct user_record *user) {
|
|||||||
s_readstring(socket, buffer, 6);
|
s_readstring(socket, buffer, 6);
|
||||||
|
|
||||||
if (tolower(buffer[0]) == 'n') {
|
if (tolower(buffer[0]) == 'n') {
|
||||||
k = jlr.HighReadMsg;
|
if (all_unread == 0) {
|
||||||
for (i=0;i<msghs->msg_count;i++) {
|
k = jlr.HighReadMsg;
|
||||||
if (msghs->msgs[i]->msg_no == k) {
|
for (i=0;i<msghs->msg_count;i++) {
|
||||||
break;
|
if (msghs->msgs[i]->msg_no == k) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
i += 2;
|
||||||
|
} else {
|
||||||
|
i = 1;
|
||||||
}
|
}
|
||||||
i+=2;
|
|
||||||
} else {
|
} else {
|
||||||
i = atoi(buffer);
|
i = atoi(buffer);
|
||||||
}
|
}
|
||||||
@ -1591,9 +1597,11 @@ int mail_menu(int socket, struct user_record *user) {
|
|||||||
printf("Error opening JAM base.. %s\n", conf.mail_conferences[user->cur_mail_conf]->mail_areas[user->cur_mail_area]->path);
|
printf("Error opening JAM base.. %s\n", conf.mail_conferences[user->cur_mail_conf]->mail_areas[user->cur_mail_area]->path);
|
||||||
break;
|
break;
|
||||||
} else {
|
} else {
|
||||||
|
all_unread = 0;
|
||||||
if (JAM_ReadLastRead(jb, user->id, &jlr) == JAM_NO_USER) {
|
if (JAM_ReadLastRead(jb, user->id, &jlr) == JAM_NO_USER) {
|
||||||
jlr.LastReadMsg = 0;
|
jlr.LastReadMsg = 0;
|
||||||
jlr.HighReadMsg = 0;
|
jlr.HighReadMsg = 0;
|
||||||
|
all_unread = 1;
|
||||||
}
|
}
|
||||||
JAM_CloseMB(jb);
|
JAM_CloseMB(jb);
|
||||||
sprintf(buffer, "Start at message [1-%d] or N for New? ", msghs->msg_count);
|
sprintf(buffer, "Start at message [1-%d] or N for New? ", msghs->msg_count);
|
||||||
@ -1601,13 +1609,17 @@ int mail_menu(int socket, struct user_record *user) {
|
|||||||
|
|
||||||
s_readstring(socket, buffer, 6);
|
s_readstring(socket, buffer, 6);
|
||||||
if (tolower(buffer[0]) == 'n') {
|
if (tolower(buffer[0]) == 'n') {
|
||||||
k = jlr.HighReadMsg;
|
if (all_unread == 0) {
|
||||||
for (i=0;i<msghs->msg_count;i++) {
|
k = jlr.HighReadMsg;
|
||||||
if (msghs->msgs[i]->msg_no == k) {
|
for (i=0;i<msghs->msg_count;i++) {
|
||||||
break;
|
if (msghs->msgs[i]->msg_no == k) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
i+=2;
|
||||||
|
} else {
|
||||||
|
i = 1;
|
||||||
}
|
}
|
||||||
i+=2;
|
|
||||||
} else {
|
} else {
|
||||||
i = atoi(buffer);
|
i = atoi(buffer);
|
||||||
if (i <= 0) {
|
if (i <= 0) {
|
||||||
|
Reference in New Issue
Block a user