Article View: dnet.chat
Article #44"Authoritative" patch #1 to ircII 2.5.1
From: Carl von Loesch
Date: Thu, 19 Dec 1991 01:59
Date: Thu, 19 Dec 1991 01:59
460 lines
14158 bytes
14158 bytes
Patch #1 to ircII 2.1.5 making it 2.1.5a
This re-enables /who -s and /who -h, using network-friendly server requests.
It also removes the underline codes from topic and who messages, introduces
an UNDERLINE_VIDEO variable to switch it all off.
This patch also includes little bug fixes that were sent to me in the
last days.
Apply within the source dir.
*** Makefile.proto~ Thu Dec 19 01:41:44 1991
--- Makefile.proto Thu Dec 19 01:42:29 1991
***************
*** 69,79 ****
vars.h: count
@${RM} vars.h
! count <vars.h.proto >vars.h
hook.h: count
@${RM} hook.h
! count <hook.h.proto >hook.h
# Dependencies
alias.o: config.h irc.h alias.h status.h edit.h history.h vars.h ircaux.h server.h window.h input.h
--- 69,79 ----
vars.h: count
@${RM} vars.h
! ./count <vars.h.proto >vars.h
hook.h: count
@${RM} hook.h
! ./count <hook.h.proto >hook.h
# Dependencies
alias.o: config.h irc.h alias.h status.h edit.h history.h vars.h ircaux.h server.h window.h input.h
*** edit.c~ Thu Dec 19 00:09:34 1991
--- edit.c Thu Dec 19 00:39:23 1991
***************
*** 738,743 ****
--- 738,745 ----
who_mask = 0;
new_free(&who_name);
+ new_free(&who_host);
+ new_free(&who_server);
new_free(&who_file);
while (arg = next_arg(args, &args)) {
no_args = 0;
***************
*** 751,761 ****
who_mask |= WHO_OPS;
else if (strnicmp(arg, "chops", len) == 0)
who_mask |= WHO_CHOPS;
! else if (strnicmp(arg, "name", len) == 0) {
if (arg = next_arg(args, &args)) {
who_mask |= WHO_NAME;
malloc_strcpy(&who_name, arg);
! channel = arg;
} else {
put_it("*** WHO -NAME: missing arguement");
return;
--- 753,781 ----
who_mask |= WHO_OPS;
else if (strnicmp(arg, "chops", len) == 0)
who_mask |= WHO_CHOPS;
! else if (strnicmp(arg, "hosts", len) == 0) {
if (arg = next_arg(args, &args)) {
+ who_mask |= WHO_HOST;
+ malloc_strcpy(&who_host, arg);
+ channel = who_host;
+ } else {
+ put_it("*** WHO -HOSTS: missing arguement");
+ return;
+ }
+ } else if (strnicmp(arg, "servers", len) == 0) {
+ if (arg = next_arg(args, &args)) {
+ who_mask |= WHO_SERVER;
+ malloc_strcpy(&who_server, arg);
+ channel = who_server;
+ } else {
+ put_it("*** WHO -SERVERS: missing arguement");
+ return;
+ }
+ } else if (strnicmp(arg, "name", len) == 0) {
+ if (arg = next_arg(args, &args)) {
who_mask |= WHO_NAME;
malloc_strcpy(&who_name, arg);
! channel = who_name;
} else {
put_it("*** WHO -NAME: missing arguement");
return;
***************
*** 776,782 ****
} else if (strcmp(arg, "*") == 0)
channel = get_channel_by_refnum(0);
else
! channel = arg;
}
if (no_args)
put_it("*** No argument specified");
--- 796,802 ----
} else if (strcmp(arg, "*") == 0)
channel = get_channel_by_refnum(0);
else
! channel = arg;
}
if (no_args)
put_it("*** No argument specified");
*** help.c~ Thu Dec 19 01:45:40 1991
--- help.c Thu Dec 19 01:45:29 1991
***************
*** 283,289 ****
break;
default:
#ifdef ZCAT
! memset(LastHelpFile, 0, sizeof(LastHelpFile));
#endif
help_put_it(help_list, "*** %schoices:", topic_list);
*buffer = null(char);
--- 283,289 ----
break;
default:
#ifdef ZCAT
! bzero(LastHelpFile, sizeof(LastHelpFile));
#endif
help_put_it(help_list, "*** %schoices:", topic_list);
*buffer = null(char);
*** irc.c~ Fri Dec 13 17:19:04 1991
--- irc.c Thu Dec 19 00:28:02 1991
***************
*** 5,11 ****
* Copyright(c) 1990
* See the COPYRIGHT file, or do a HELP IRCII COPYRIGHT
*/
! #define IRCII_VERSION "2.1.5"
#ifdef HPUX
#include <curses.h>
--- 5,11 ----
* Copyright(c) 1990
* See the COPYRIGHT file, or do a HELP IRCII COPYRIGHT
*/
! #define IRCII_VERSION "2.1.5a"
#ifdef HPUX
#include <curses.h>
***************
*** 83,88 ****
--- 83,90 ----
empty_string[] = "", /* just an empty string */
*who_name = null(char *), /* extra /who switch info */
*who_file = null(char *), /* extra /who switch info */
+ *who_server = null(char *), /* extra /who switch info */
+ *who_host = null(char *), /* extra /who switch info */
*cannot_open = null(char *); /* extra /who switch info */
long idle_time = 0;
*** irc.h~ Thu Dec 19 00:05:01 1991
--- irc.h Thu Dec 19 00:22:33 1991
***************
*** 132,137 ****
--- 132,139 ----
#define WHO_ZERO 4
#define WHO_CHOPS 8
#define WHO_FILE 16
+ #define WHO_HOST 32
+ #define WHO_SERVER 64
/* Define ZSUFFIX in case we are using ZCAT */
#ifdef ZCAT
***************
*** 183,188 ****
--- 185,192 ----
extern char *invite_channel;
extern int who_mask;
extern char *who_name;
+ extern char *who_host;
+ extern char *who_server;
extern char *who_file;
extern char *cannot_open;
*** lastlog.c~ Thu Dec 19 01:53:02 1991
--- lastlog.c Thu Dec 19 01:53:36 1991
***************
*** 178,184 ****
msg_level,
len,
mask = 0,
! header;
Lastlog *start_pos;
char *match = null(char *),
*arg;
--- 178,184 ----
msg_level,
len,
mask = 0,
! header = 1;
Lastlog *start_pos;
char *match = null(char *),
*arg;
*** numbers.c~ Wed Dec 18 23:55:10 1991
--- numbers.c Wed Dec 18 23:56:18 1991
***************
*** 167,176 ****
*(topic++)= null(char);
if (channel = next_arg(rest,&rest)){
message_from(channel, LOG_CRAP);
! put_it("*** Topic for %s: \026%s\026", channel, topic);
}else{
message_from(null(char *), LOG_CURRENT);
! put_it("*** Topic: \026%s\026", topic);
}
}
}
--- 167,176 ----
*(topic++)= null(char);
if (channel = next_arg(rest,&rest)){
message_from(channel, LOG_CRAP);
! put_it("*** Topic for %s: %s", channel, topic);
}else{
message_from(null(char *), LOG_CURRENT);
! put_it("*** Topic: %s", topic);
}
}
}
*** parse.c~ Tue Dec 17 01:37:32 1991
--- parse.c Thu Dec 19 00:17:52 1991
***************
*** 98,104 ****
{
line++;
if (do_hook(TOPIC_LIST, "%s * %s", from, line))
! put_it("*** %s has changed the topic to \026%s\026", from, line);
}
else
{
--- 98,104 ----
{
line++;
if (do_hook(TOPIC_LIST, "%s * %s", from, line))
! put_it("*** %s has changed the topic to %s", from, line);
}
else
{
***************
*** 106,112 ****
return;
line++;
if (do_hook(TOPIC_LIST, "%s %s %s", from, arg, line))
! put_it("*** %s has changed the topic on channel %s to \026%s\026",
from, arg, line);
}
message_from(null(char *), LOG_CRAP);
--- 106,112 ----
return;
line++;
if (do_hook(TOPIC_LIST, "%s %s %s", from, arg, line))
! put_it("*** %s has changed the topic on channel %s to %s",
from, arg, line);
}
message_from(null(char *), LOG_CRAP);
***************
*** 215,223 ****
if (last_width != get_int_var(CHANNEL_NAME_WIDTH_VAR)) {
if (last_width = get_int_var(CHANNEL_NAME_WIDTH_VAR))
! sprintf(format, "%%-%u.%us %%-9s %%-3s %%s@%%s (\026%%s\026)", (unsigned char) last_width, (unsigned char) last_width);
else
! strcpy(format, "%s\t%-9s %-3s %s@%s (\026%s\026)");
}
channel = next_arg(line, &line);
user = next_arg(line, &line);
--- 215,223 ----
if (last_width != get_int_var(CHANNEL_NAME_WIDTH_VAR)) {
if (last_width = get_int_var(CHANNEL_NAME_WIDTH_VAR))
! sprintf(format, "%%-%u.%us %%-9s %%-3s %%s@%%s (%%s)", (unsigned char) last_width, (unsigned char) last_width);
else
! strcpy(format, "%s\t%-9s %-3s %s@%s (%s)");
}
channel = next_arg(line, &line);
user = next_arg(line, &line);
***************
*** 244,249 ****
--- 244,253 ----
ok = ok && ((*(stat + 1) == '@') || (*(stat + 2) == '@'));
if (who_mask & WHO_NAME)
ok = ok && wild_match(who_name, user);
+ if (who_mask & WHO_HOST)
+ ok = ok && wild_match(who_host, host);
+ if (who_mask & WHO_SERVER)
+ ok = ok && wild_match(who_server, server);
if (who_mask & WHO_FILE) {
ok = 0;
cannot_open = null(char *);
***************
*** 437,443 ****
char *from,
*line;
{
! int one_prints;
char *chan;
for (chan=walk_channels(from, 1);chan;chan=walk_channels(from, 0))
--- 441,447 ----
char *from,
*line;
{
! char one_prints = 0;
char *chan;
for (chan=walk_channels(from, 1);chan;chan=walk_channels(from, 0))
***************
*** 449,455 ****
if (one_prints)
{
message_from(what_channel(from), LOG_CRAP);
! if (do_hook(SIGNOFF_LIST, "%s", from))
put_it("*** Signoff: %s (%s)", from, line+1);
}
remove_from_channel(null(char *), from,from_server);
--- 453,459 ----
if (one_prints)
{
message_from(what_channel(from), LOG_CRAP);
! if (do_hook(SIGNOFF_LIST, "%s %s", from, line+1))
put_it("*** Signoff: %s (%s)", from, line+1);
}
remove_from_channel(null(char *), from,from_server);
*** vars.c~ Thu Dec 19 01:12:40 1991
--- vars.c Thu Dec 19 01:17:11 1991
***************
*** 121,126 ****
--- 121,127 ----
"STATUS_USER", STRING_TYPE_VAR, 0, NULL, build_status, 0,
"STATUS_WINDOW", STRING_TYPE_VAR, 0, NULL, build_status, 0,
"SUPPRESS_SERVER_MOTD", BOOL_TYPE_VAR, DEFAULT_SUPPRESS_SERVER_MOTD, NULL, NULL, 0,
+ "UNDERLINE_VIDEO", BOOL_TYPE_VAR, 1, NULL, set_underline_video, 0,
"USE_OLD_MSG", BOOL_TYPE_VAR, DEFAULT_USE_OLD_MSG, NULL, NULL, 0,
"USER_INFORMATION", STRING_TYPE_VAR, 0, NULL, NULL, 0,
"VERBOSE_CTCP", BOOL_TYPE_VAR, DEFAULT_VERBOSE_CTCP, NULL, NULL, 0,
*** vars.h.proto~ Thu Dec 19 01:10:40 1991
--- vars.h.proto Thu Dec 19 01:11:15 1991
***************
*** 88,94 ****
#define STATUS_USER_VAR $
#define STATUS_WINDOW_VAR $
#define SUPPRESS_SERVER_MOTD_VAR $
! #define USE_OLD_MSG_VAR $
#define USERINFO_VAR $
#define VERBOSE_CTCP_VAR $
#define WARN_OF_IGNORES_VAR $
--- 88,95 ----
#define STATUS_USER_VAR $
#define STATUS_WINDOW_VAR $
#define SUPPRESS_SERVER_MOTD_VAR $
! #define UNDERLINE_VIDEO_VAR $
! #define USE_OLD_MSG_VAR $
#define USERINFO_VAR $
#define VERBOSE_CTCP_VAR $
#define WARN_OF_IGNORES_VAR $
*** window.c~ Thu Dec 19 01:23:35 1991
--- window.c Thu Dec 19 01:22:44 1991
***************
*** 24,30 ****
#include "hook.h"
#include "dcc.h"
! static char underline = 0; /* flag for underline mode -lynx */
/*
* WindowStack: The structure for the POP, PUSH, and STACK functions. A
--- 24,30 ----
#include "hook.h"
#include "dcc.h"
! static char underline = 1; /* value for underline mode, is 0 when on! -lynx */
/*
* WindowStack: The structure for the POP, PUSH, and STACK functions. A
***************
*** 366,374 ****
len = len - (written - CO);
fwrite(str, len, 1, stdout);
if (underline = 1 - underline)
- term_underline_on();
- else
term_underline_off();
*ptr = c;
str = ++ptr;
break;
--- 366,374 ----
len = len - (written - CO);
fwrite(str, len, 1, stdout);
if (underline = 1 - underline)
term_underline_off();
+ else
+ term_underline_on();
*ptr = c;
str = ++ptr;
break;
***************
*** 384,392 ****
if (written > CO)
len = len - (written - CO);
fwrite(str, len, 1, stdout);
! if (underline) {
term_underline_off();
! underline = 0;
}
display_highlight(OFF);
*ptr = c;
--- 384,392 ----
if (written > CO)
len = len - (written - CO);
fwrite(str, len, 1, stdout);
! if (underline == 0) {
term_underline_off();
! underline = 1;
}
display_highlight(OFF);
*ptr = c;
***************
*** 2809,2812 ****
--- 2809,2822 ----
for (tmp = window_list; tmp; tmp = tmp->next)
hold_mode(tmp, OFF, 1);
+ }
+
+ void set_underline_video(value)
+ int value;
+ {
+ if (value == OFF)
+ /* this will make underline toggle between 2 and -1 and never let it get to 0 */
+ underline = -1;
+ else
+ underline = 1;
}
*** window.h~ Thu Dec 19 02:37:18 1991
--- window.h Thu Dec 19 01:25:59 1991
***************
*** 98,103 ****
--- 98,104 ----
extern void set_scroll();
extern void reset_line_cnt();
extern void set_continued_line();
+ extern void set_underline_video();
extern int rite();
extern void erase_display();
extern void resize_display();
--
o+--------------------------------------------------------------------------+o
o! Carl 'lynx' v. Loesch _\/_ loesch@informatik.uni-oldenburg.de !o
o! _____________________ /\ 244661 at DOLUNI1 (bitearn) !o
o+--------------------------------------------------------------------------+o
This .signature had a security leak.... .signature cracked by KBR (cr)91
Technical Details
Message-ID:
<1991Dec19.020056.2148@arbi.informatik.uni-oldenburg.de>Path:
arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!math.fu-berlin.de!uniol!Carl.von.LoeschShow Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fc6b5,246ae57ba3569aec,start X-Google-Attributes: gidfc6b5,public X-Google-Thread: 16a693,246ae57ba3569aec,start X-Google-Attributes: gid16a693,public X-Google-ArrivalTime: 1991-12-18 21:46:47 PST Path: arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!math.fu-berlin.de!uniol!Carl.von.Loesch From: Carl.von.Loesch@arbi.informatik.uni-oldenburg.de (Carl von Loesch) Newsgroups: dnet.chat,alt.irc Subject: "Authoritative" patch #1 to ircII 2.5.1 Message-ID: <1991Dec19.020056.2148@arbi.informatik.uni-oldenburg.de> Date: 19 Dec 91 01:59:54 GMT Sender: news@arbi.informatik.uni-oldenburg.de (Usenet News System) Organization: University of Oldenburg, Germany Lines: 460