Loading src/client/incoming.c +34 −15 Original line number Diff line number Diff line Loading @@ -114,6 +114,24 @@ void ClearStack(void) { MesgStacked=0; } static void display_onoff(int action, const char *name, int room) { switch (action) { case ONOFF_LEAVE: format_message("\03311* %s has just left the talker.", name); break; case ONOFF_JOIN: format_message("\03310* %s has just joined talker room %d.", name, room); break; case ONOFF_LOGOFF: format_message("\03302* %s has just left the board.", name); break; case ONOFF_LOGON: format_message("\03301* %s has just entered the board.", name); break; } } void DisplayStack(void) { struct mstack *new; Loading Loading @@ -203,12 +221,13 @@ void DisplayStack(void) }; char *onoff_name; const char *uname, *reason; int ccode, isquiet, action, type; int ccode, isquiet, action, type, room = 0; struct mwevent ev = { .ev_type = MWEV_TYPE_ONOFF, .ev_data.onoff = new->msg, }; script_output = 1; if (cp_test(user, CP_SCRIPT)) js_handle_event(&ev); /* go through list and find checkonoff function */ Loading @@ -227,6 +246,8 @@ void DisplayStack(void) reason = json_getstring(j, "reason"); else reason = json_getstring(j, "message"); if (action == ONOFF_JOIN) room = json_getint(j, "channel"); if (action >= ONOFF_SIZE) break; Loading Loading @@ -286,7 +307,10 @@ void DisplayStack(void) a.version[0] = '3'; if (reason != NULL) snprintf(a.reason, MAXTEXTLENGTH - 1, "%s", reason); if (cp_test(user, CP_SCRIPT)) ExecEvent2(onoff_name, "CheckOnOff", new->from, 0, 6, aargs); if (script_output && !isquiet) display_onoff(action, uname, room); break; } default: Loading Loading @@ -554,7 +578,6 @@ static void display_content(ipc_message_t *msg) } } else if (msg->head.type == IPC_CHECKONOFF) { if (cp_test(user, CP_SCRIPT)) { struct mstack *ms; ms = calloc(1, sizeof(*ms)); Loading @@ -562,7 +585,6 @@ static void display_content(ipc_message_t *msg) ms->preamble = EST_CHECKONOFF; ms->from = strdup(whom); InsertMesg(ms, msg); } } else { printf("Unknown message type %4.4s", (char *)&msg->head.type); } Loading Loading @@ -980,9 +1002,6 @@ static void zod(const char *from, const char *msg) printf(_("%s just sent the Zebedee of Death to you.\n"),from); fflush(stdout); /* broadcast leaving message if not quiet */ if (!quietmode) broadcast(4|0x100, "\03311%s has just left the talker", user->record.name); /* set 'off talker' permissions for commands */ set_rights(); disable_rl(1); Loading src/client/main.c +1 −8 Original line number Diff line number Diff line Loading @@ -633,17 +633,13 @@ int main(int argc, char **argv) if (login_status == 3) /* Autoregistered */ broadcast(3, "Auto-registered %s", user->record.name); quietmode = 0; if ((s_quiet(user) || u_god(user)) && qflag) { extern int talker_logontype; quietmode=1; talker_logontype |= LOGONMASK_QUIET; }else { broadcast(1, _("\03301%s has just entered the board."),user->record.name); quietmode=0; } { struct sockaddr_in sa; socklen_t ss; Loading Loading @@ -907,9 +903,6 @@ void close_down(int logofftype, char *sourceuser, char *reason) stop_js(); alarm_cleanup(); if (!quietmode && logofftype != LOGOFF_TIMEOUT && logofftype != LOGOFF_EOFS) broadcast(1, "\03302%s has just left the board.", user->record.name); mwlog(user, "LOGOUT"); sleep(1); //dodgy hack for race condition in checkonoff, cunningly we currently get woken by the very message we're waiting for. Loading src/client/talker.c +3 −17 Original line number Diff line number Diff line Loading @@ -183,12 +183,8 @@ void t_uptime(CommandList *cm, int argc, const char **argv, char *args) void t_quit(CommandList *cm, int argc, const char **argv, char *args) { char text[MAXTEXTLENGTH]; user->record.chatmode = cm_clear(user, CM_ONCHAT); update_user(user); snprintf(text, MAXTEXTLENGTH-1, "\03311%s has just left the talker", user->record.name); if (!quietmode) talk_send_rawbcast(text); announce_leave(user->record.name, user->record.room, LEAVE_NORMAL, NULL, NULL, quietmode); set_rights(); } Loading Loading @@ -1106,25 +1102,15 @@ void t_uri(CommandList *cm, int argc, const char **argv, char *args) void t_chaton(void) { struct person *urec = &user->record; char text[MAXTEXTLENGTH]; char mtext[MAXTEXTLENGTH]; set_talk_rights(); /* set mode to 'on talker', and update whofile for autoexec function */ urec->chatmode = cm_set(user, CM_ONCHAT); update_user(user); if (user->room.name!=NULL) snprintf(mtext, MAXTEXTLENGTH-1, "\03310%s has just joined talker in %s", urec->name, user->room.name); else snprintf(mtext, MAXTEXTLENGTH-1, "\03310%s has just joined talker room %d", urec->name, urec->room); snprintf(text, MAXTEXTLENGTH-1, "\03310%s has just joined talker room %d", urec->name, urec->room); if (!quietmode) talk_send_rawbcast(text); printf("Now entering the talker. Use \".quit\" to leave and \".help\" for help.\n"); format_message("\03310* Joining talker room %d. " "Use \".quit\" to leave and \".help\" for help.\n", urec->room); /* run the common stuff for entering the talker */ enter_talker(1); Loading Loading
src/client/incoming.c +34 −15 Original line number Diff line number Diff line Loading @@ -114,6 +114,24 @@ void ClearStack(void) { MesgStacked=0; } static void display_onoff(int action, const char *name, int room) { switch (action) { case ONOFF_LEAVE: format_message("\03311* %s has just left the talker.", name); break; case ONOFF_JOIN: format_message("\03310* %s has just joined talker room %d.", name, room); break; case ONOFF_LOGOFF: format_message("\03302* %s has just left the board.", name); break; case ONOFF_LOGON: format_message("\03301* %s has just entered the board.", name); break; } } void DisplayStack(void) { struct mstack *new; Loading Loading @@ -203,12 +221,13 @@ void DisplayStack(void) }; char *onoff_name; const char *uname, *reason; int ccode, isquiet, action, type; int ccode, isquiet, action, type, room = 0; struct mwevent ev = { .ev_type = MWEV_TYPE_ONOFF, .ev_data.onoff = new->msg, }; script_output = 1; if (cp_test(user, CP_SCRIPT)) js_handle_event(&ev); /* go through list and find checkonoff function */ Loading @@ -227,6 +246,8 @@ void DisplayStack(void) reason = json_getstring(j, "reason"); else reason = json_getstring(j, "message"); if (action == ONOFF_JOIN) room = json_getint(j, "channel"); if (action >= ONOFF_SIZE) break; Loading Loading @@ -286,7 +307,10 @@ void DisplayStack(void) a.version[0] = '3'; if (reason != NULL) snprintf(a.reason, MAXTEXTLENGTH - 1, "%s", reason); if (cp_test(user, CP_SCRIPT)) ExecEvent2(onoff_name, "CheckOnOff", new->from, 0, 6, aargs); if (script_output && !isquiet) display_onoff(action, uname, room); break; } default: Loading Loading @@ -554,7 +578,6 @@ static void display_content(ipc_message_t *msg) } } else if (msg->head.type == IPC_CHECKONOFF) { if (cp_test(user, CP_SCRIPT)) { struct mstack *ms; ms = calloc(1, sizeof(*ms)); Loading @@ -562,7 +585,6 @@ static void display_content(ipc_message_t *msg) ms->preamble = EST_CHECKONOFF; ms->from = strdup(whom); InsertMesg(ms, msg); } } else { printf("Unknown message type %4.4s", (char *)&msg->head.type); } Loading Loading @@ -980,9 +1002,6 @@ static void zod(const char *from, const char *msg) printf(_("%s just sent the Zebedee of Death to you.\n"),from); fflush(stdout); /* broadcast leaving message if not quiet */ if (!quietmode) broadcast(4|0x100, "\03311%s has just left the talker", user->record.name); /* set 'off talker' permissions for commands */ set_rights(); disable_rl(1); Loading
src/client/main.c +1 −8 Original line number Diff line number Diff line Loading @@ -633,17 +633,13 @@ int main(int argc, char **argv) if (login_status == 3) /* Autoregistered */ broadcast(3, "Auto-registered %s", user->record.name); quietmode = 0; if ((s_quiet(user) || u_god(user)) && qflag) { extern int talker_logontype; quietmode=1; talker_logontype |= LOGONMASK_QUIET; }else { broadcast(1, _("\03301%s has just entered the board."),user->record.name); quietmode=0; } { struct sockaddr_in sa; socklen_t ss; Loading Loading @@ -907,9 +903,6 @@ void close_down(int logofftype, char *sourceuser, char *reason) stop_js(); alarm_cleanup(); if (!quietmode && logofftype != LOGOFF_TIMEOUT && logofftype != LOGOFF_EOFS) broadcast(1, "\03302%s has just left the board.", user->record.name); mwlog(user, "LOGOUT"); sleep(1); //dodgy hack for race condition in checkonoff, cunningly we currently get woken by the very message we're waiting for. Loading
src/client/talker.c +3 −17 Original line number Diff line number Diff line Loading @@ -183,12 +183,8 @@ void t_uptime(CommandList *cm, int argc, const char **argv, char *args) void t_quit(CommandList *cm, int argc, const char **argv, char *args) { char text[MAXTEXTLENGTH]; user->record.chatmode = cm_clear(user, CM_ONCHAT); update_user(user); snprintf(text, MAXTEXTLENGTH-1, "\03311%s has just left the talker", user->record.name); if (!quietmode) talk_send_rawbcast(text); announce_leave(user->record.name, user->record.room, LEAVE_NORMAL, NULL, NULL, quietmode); set_rights(); } Loading Loading @@ -1106,25 +1102,15 @@ void t_uri(CommandList *cm, int argc, const char **argv, char *args) void t_chaton(void) { struct person *urec = &user->record; char text[MAXTEXTLENGTH]; char mtext[MAXTEXTLENGTH]; set_talk_rights(); /* set mode to 'on talker', and update whofile for autoexec function */ urec->chatmode = cm_set(user, CM_ONCHAT); update_user(user); if (user->room.name!=NULL) snprintf(mtext, MAXTEXTLENGTH-1, "\03310%s has just joined talker in %s", urec->name, user->room.name); else snprintf(mtext, MAXTEXTLENGTH-1, "\03310%s has just joined talker room %d", urec->name, urec->room); snprintf(text, MAXTEXTLENGTH-1, "\03310%s has just joined talker room %d", urec->name, urec->room); if (!quietmode) talk_send_rawbcast(text); printf("Now entering the talker. Use \".quit\" to leave and \".help\" for help.\n"); format_message("\03310* Joining talker room %d. " "Use \".quit\" to leave and \".help\" for help.\n", urec->room); /* run the common stuff for entering the talker */ enter_talker(1); Loading