From fd8991f593180bed51e1c22a8ee2438dd3f818e7 Mon Sep 17 00:00:00 2001 From: Art Cancro Date: Tue, 11 May 1999 03:10:20 +0000 Subject: [PATCH] * Replaced _most_ gotoroom() calls with smart_goto(), a version which can differentiate the needs of frames and noframes modes --- webcit/ChangeLog | 4 ++++ webcit/child.h | 1 + webcit/roomops.c | 26 +++++++++++++++++--------- webcit/sysmsgs.c | 2 +- webcit/webcit.c | 2 +- 5 files changed, 24 insertions(+), 11 deletions(-) diff --git a/webcit/ChangeLog b/webcit/ChangeLog index fcf761af5..fb1d0fe67 100644 --- a/webcit/ChangeLog +++ b/webcit/ChangeLog @@ -1,3 +1,7 @@ +Mon May 10 23:09:34 EDT 1999 Art Cancro + * Replaced _most_ gotoroom() calls with smart_goto(), a version + which can differentiate the needs of frames and noframes modes + Sat May 8 01:07:06 EDT 1999 Art Cancro * webserver.c: added "-t" option to send traces somewhere else diff --git a/webcit/child.h b/webcit/child.h index ccdcd415c..9a557941d 100644 --- a/webcit/child.h +++ b/webcit/child.h @@ -103,3 +103,4 @@ void do_generic(void); int browser_braindamage_check(char *); void display_menubar(int); void embed_room_banner(char *); +void smart_goto(char *); diff --git a/webcit/roomops.c b/webcit/roomops.c index 1ea8b5e83..2927ed651 100644 --- a/webcit/roomops.c +++ b/webcit/roomops.c @@ -115,7 +115,9 @@ void room_tree_list(struct roomlisting *rp) wprintf(""); + wprintf("\""); + if (!noframes) wprintf("TARGET=\"top\""); + wprintf(">"); escputs1(rmname, 1); if ((f & QR_DIRECTORY) && (f & QR_NETWORK)) wprintf("}"); @@ -536,6 +538,12 @@ void gotonext(void) strcpy(next_room, "_BASEROOM_"); } + + smart_goto(next_room); +} + + +void smart_goto(char *next_room) { /* In noframes mode, we goto the room silently, then do a * read-new-messages which causes the banner to show up anyway. */ @@ -578,13 +586,13 @@ void ungoto(void) char buf[256]; if (!strcmp(ugname, "")) { - gotoroom(wc_roomname, 1); + smart_goto(wc_roomname); return; } serv_printf("GOTO %s", ugname); serv_gets(buf); if (buf[0] != '2') { - gotoroom(wc_roomname, 1); + smart_goto(wc_roomname); return; } if (uglsn >= 0L) { @@ -593,7 +601,7 @@ void ungoto(void) } strcpy(buf, ugname); strcpy(ugname, ""); - gotoroom(buf, 1); + smart_goto(buf); } /* @@ -908,7 +916,7 @@ void editroom(void) return; } } - gotoroom(er_name, 1); + smart_goto(er_name); } @@ -999,7 +1007,7 @@ void entroom(void) display_error(&buf[4]); return; } - gotoroom(er_name, 1); + smart_goto(er_name); } @@ -1065,7 +1073,7 @@ void goto_private(void) serv_gets(buf); if (buf[0] == '2') { - gotoroom(bstr("gr_name"), 1); + smart_goto(bstr("gr_name")); return; } if (!strncmp(buf, "540", 3)) { @@ -1128,7 +1136,7 @@ void zap(void) display_error(&buf[4]); return; } - gotoroom(bstr("_BASEROOM_"), 1); + smart_goto(bstr("_BASEROOM_")); } @@ -1188,6 +1196,6 @@ void delete_room(void) if (buf[0] != '2') { display_error(&buf[4]); } else { - gotoroom("_BASEROOM_", 1); + smart_goto("_BASEROOM_"); } } diff --git a/webcit/sysmsgs.c b/webcit/sysmsgs.c index b17abfc42..5fa17c05b 100644 --- a/webcit/sysmsgs.c +++ b/webcit/sysmsgs.c @@ -76,7 +76,7 @@ void save_edit(char *description, char *enter_cmd, int regoto) serv_puts("000"); if (regoto) { - gotoroom(wc_roomname, 1); + smart_goto(wc_roomname); } else { printf("HTTP/1.0 200 OK\n"); output_headers(1); diff --git a/webcit/webcit.c b/webcit/webcit.c index 82eaa9541..343546aee 100644 --- a/webcit/webcit.c +++ b/webcit/webcit.c @@ -757,7 +757,7 @@ void session_loop(char *browser_host) ungoto(); } else if (!strcasecmp(action, "dotgoto")) { slrp_highest(); - gotoroom(bstr("room"), 1); + smart_goto(bstr("room")); } else if (!strcasecmp(action, "termquit")) { do_logout(); } else if (!strcasecmp(action, "readnew")) { -- 2.39.2