#include "commands.h"
#include "ipc.h"
#include "client_chat.h"
+#include "client_icq.h"
#include "citadel_decls.h"
#include "tools.h"
#ifndef HAVE_SNPRINTF
struct march {
struct march *next;
- char march_name[32];
+ char march_name[ROOMNAMELEN];
char march_floor;
char march_order;
};
char floorlist[128][256]; /* names of floors */
char express_msgs = 0; /* express messages waiting! */
-jmp_buf jmp_reconnect; /* for server reconnects */
-char re_username[32];
-char re_password[32];
-
-void sigpipehandler(int nothing)
-{
- longjmp(jmp_reconnect, nothing);
-}
-
/*
* here is our 'clean up gracefully and exit' routine
*/
}
-void userlist(void)
+void userlist(char *patn)
{
char buf[256];
char fl[256];
struct tm *tmbuf;
time_t lc;
- int linecount = 2;
serv_puts("LIST");
serv_gets(buf);
if (buf[0] != '1') {
- printf("%s\n", &buf[4]);
+ pprintf("%s\n", &buf[4]);
return;
}
sigcaught = 0;
sttybbs(SB_YES_INTR);
- printf(" User Name Num L LastCall Calls Posts\n");
- printf("------------------------- ----- - ---------- ----- -----\n");
+ pprintf(" User Name Num L LastCall Calls Posts\n");
+ pprintf("------------------------- ----- - ---------- ----- -----\n");
while (serv_gets(buf), strcmp(buf, "000")) {
if (sigcaught == 0) {
- extract(fl, buf, 0);
- printf("%-25s ", fl);
- printf("%5ld %d ", extract_long(buf, 2),
+ extract(fl, buf, 0);
+ if (pattern(fl, patn) >= 0) {
+ pprintf("%-25s ", fl);
+ pprintf("%5ld %d ", extract_long(buf, 2),
extract_int(buf, 1));
lc = extract_long(buf, 3);
tmbuf = (struct tm *) localtime(&lc);
- printf("%02d/%02d/%04d ",
+ pprintf("%02d/%02d/%04d ",
(tmbuf->tm_mon + 1),
tmbuf->tm_mday,
(tmbuf->tm_year + 1900));
- printf("%5ld %5ld\n", extract_long(buf, 4), extract_long(buf, 5));
-
- ++linecount;
- linecount = checkpagin(linecount,
- ((userflags & US_PAGINATOR) ? 1 : 0),
- screenheight);
+ pprintf("%5ld %5ld\n", extract_long(buf, 4), extract_long(buf, 5));
+ }
}
}
sttybbs(SB_NO_INTR);
- printf("\n");
+ pprintf("\n");
}
{
char buf[256];
struct march *mptr, *mptr2;
- char next_room[32];
+ char next_room[ROOMNAMELEN];
/* Check to see if the march-mode list is already allocated.
* If it is, pop the first room off the list and go there.
newprompt("Enter a new password: ", pass1, -19);
newprompt("Enter it again to confirm: ", pass2, -19);
}
+ strproc(pass1);
+ strproc(pass2);
if (!strucmp(pass1, pass2)) {
snprintf(buf, sizeof buf, "SETP %s", pass1);
serv_puts(buf);
serv_gets(buf);
printf("%s\n", &buf[4]);
- strcpy(re_password, pass1);
return (0);
} else {
printf("*** They don't match... try again.\n");
}
} else {
color(BRIGHT_WHITE);
- printf("FLG ### User Name Room From host\n");
+ pprintf("FLG ### User Name Room From host\n");
color(DIM_WHITE);
- printf("--- --- ------------------------- -------------------- ------------------------\n");
+ pprintf("--- --- ------------------------- -------------------- ------------------------\n");
}
serv_puts("RWHO");
serv_gets(buf);
idlehours = idletime / 3600;
idlemins = (idletime - (idlehours * 3600)) / 60;
idlesecs = (idletime - (idlehours * 3600) - (idlemins * 60));
- printf("\nFlags: %-3s Sess# %-3d Name: %-25s Room: %s\n",
+ pprintf("\nFlags: %-3s Sess# %-3d Name: %-25s Room: %s\n",
flags, extract_int(buf, 0), username, roomname);
- printf("from <%s> using <%s>, idle %ld:%02ld:%02ld\n",
+ pprintf("from <%s> using <%s>, idle %ld:%02ld:%02ld\n",
fromhost, clientsoft,
(long) idlehours, (long) idlemins, (long) idlesecs);
} else {
if (extract_int(buf, 0) == last_session) {
- printf(" ");
+ pprintf(" ");
} else {
color(BRIGHT_MAGENTA);
- printf("%-3s ", flags);
+ pprintf("%-3s ", flags);
color(DIM_WHITE);
- printf("%-3d ", extract_int(buf, 0));
+ pprintf("%-3d ", extract_int(buf, 0));
}
last_session = extract_int(buf, 0);
color(BRIGHT_CYAN);
- printf("%-25s ", username);
+ pprintf("%-25s ", username);
color(BRIGHT_MAGENTA);
- printf("%-20s ", roomname);
+ roomname[20] = 0;
+ pprintf("%-20s ", roomname);
color(BRIGHT_CYAN);
- printf("%-24s\n", fromhost);
+ pprintf("%-24s\n", fromhost);
color(DIM_WHITE);
}
}
goto TERMN8;
}
/* sign on to the server */
- strcpy(re_username, fullname);
snprintf(aaa, sizeof aaa, "USER %s", fullname);
serv_puts(aaa);
serv_gets(aaa);
serv_puts(aaa);
serv_gets(aaa);
if (aaa[0] == '2') {
- strcpy(re_password, eee);
load_user_info(&aaa[4]);
goto PWOK;
}
do { /* MAIN LOOP OF PROGRAM */
- if (!is_connected()) {
- for (a=15; a>=0; --a) {
- printf("\rServer connection broken; "
- "will reconnect in %d seconds\r", a);
- fflush(stdout);
- sleep(1);
- }
- printf( " "
- " \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);
- }
- get_serv_info();
- sprintf(aaa, "USER %s", re_username);
- serv_puts(aaa);
- serv_gets(aaa);
- if (aaa[0] != '3') {
- printf("%s\n", &aaa[4]);
- exit(0);
- }
- sprintf(aaa, "PASS %s", re_password);
- serv_puts(aaa);
- serv_gets(aaa);
- if (aaa[0] != '2') {
- printf("%s\n", &aaa[4]);
- exit(0);
- }
- load_user_info(&aaa[4]);
- sprintf(aaa, "GOTO %s", room_name);
- serv_puts(aaa);
- serv_gets(aaa);
- }
-
signal(SIGINT, SIG_IGN);
signal(SIGQUIT, SIG_IGN);
- signal(SIGPIPE, SIG_IGN);
mcmd = getcmd(argbuf);
#ifdef TIOCGWINSZ
killroom();
break;
case 32:
- userlist();
+ userlist(argbuf);
break;
case 27:
invite();
do_system_configuration();
break;
+ case 82:
+ do_internet_configuration();
+ break;
+
+ case 83:
+ check_message_base();
+ break;
+
+ case 84:
+ quiet_mode();
+ break;
+
case 50:
enter_config(2);
break;
page_user();
break;
+ case 81:
+ setup_icq();
+ break;
+
} /* end switch */
} while (termn8 == 0);