char curr_floor = 0; /* number of current floor */
char floorlist[128][256]; /* names of floors */
char express_msgs = 0; /* express messages waiting! */
-char last_paged[32]="";
jmp_buf jmp_reconnect; /* for server reconnects */
char re_username[32];
char re_password[32];
void sigpipehandler(int nothing) {
- printf("Longjumpfing with %d\n", nothing);
longjmp(jmp_reconnect, nothing);
}
char tbuf[128], clientsoft[128];
time_t timenow=0;
time_t idletime, idlehours, idlemins, idlesecs;
+ int last_session = (-1);
if (longlist)
{
}
else {
- color(1); printf("%-3s ", flags);
- color(2); printf("%-3d ", extract_int(buf,0));
+ if (extract_int(buf,0)==last_session) {
+ printf(" ");
+ }
+ else {
+ color(1); printf("%-3s ", flags);
+ color(2); printf("%-3d ", extract_int(buf,0));
+ }
+ last_session=extract_int(buf,0);
color(3); printf("%-25s ", username);
color(4); printf("%-20s ", roomname);
color(5); printf("%-24s\n", fromhost);
int main(int argc, char **argv)
{
int a,b,mcmd;
-char aaa[100],bbb[100],ccc[100],eee[100]; /* general purpose variables */
+char aaa[100],bbb[100],eee[100]; /* general purpose variables */
char argbuf[32]; /* command line buf */
int termn8 = 0;
/* Reconnect to the server if the connection was broken */
if (setjmp(jmp_reconnect)) {
+ printf("\rServer connection broken; reconnecting...\r");
+ fflush(stdout);
attach_to_server(argc,argv);
+ printf(" \r");
+ fflush(stdout);
serv_gets(aaa);
if (aaa[0]!='2') { printf("%s\n", &aaa[4]); exit(0); }
sprintf(aaa, "USER %s", re_username);
break;
case 56:
- if (last_paged[0])
- snprintf(bbb, sizeof bbb, "Page who [%s]? ", last_paged);
- else
- snprintf(bbb, sizeof bbb, "Page who? ");
- newprompt(bbb,aaa,30);
- if (!aaa[0])
- strcpy(aaa, last_paged);
- strproc(aaa);
- newprompt("Message: ",bbb,69);
- snprintf(ccc,sizeof ccc,"SEXP %s|%s",aaa,bbb);
- serv_puts(ccc);
- serv_gets(ccc);
- if (!strncmp("200", ccc, 3))
- strcpy(last_paged, aaa);
- printf("%s\n",&ccc[4]);
+ page_user();
break;
} /* end switch */