1
0
mirror of https://github.com/GeorgeMcMullen/rxIRC.git synced 2026-01-27 04:33:01 +00:00

Version 2.0.1 of rxIRC (By Lynx (244661 at DOLUNI1) 1993)

This commit is contained in:
George McMullen
2013-06-08 14:43:28 -07:00
parent 8676ef66d1
commit f39c9d072a

View File

@@ -1,3 +1,22 @@
/*
Local changes for VM/ESA 1.2.1 (REXX370 Vers. 4.00) or greater
-> The variable "b" in the routine "NICE" (around line 802-815)
was changed to "bb" because of the following change:
(c) Copyright IBM Corporation 1990, 1993
"462E Error 15 running fn ft, line nn: Invalid hexadecimal or binary
string
Explanation: Binary strings were new in VM/ESA Release 2, and the
language processor may now be considering the string in your statement
to be binary when that was not your intention.
... Or you may have put the 1-character symbol X, x, B, or b (the name
of the variable X or B, respectively) after a literal string, when the
string is not intended as a hexadecimal or binary specification."
*/
/* rxIRC
* Internet Relay Chat client program for VM/CMS systems
* written by Carl 'LynX' v. Loesch (loesch@informatik.uni-oldenburg.de)
@@ -7,6 +26,10 @@
* Scott Maxell, Juan Courcoul, Rob Blais, Mike Letourneau, Grant Pair
* (in historical order mostly). Thank y'all very much!
*
* requires RXSOCKET MODULE version 2 by Arty Ecock (eckcu@cunyvm.bitnet)
*
* Copyright (C)1991,2,3 by Lynx & CvO University Oldenburg, Germany
@@ -16,7 +39,7 @@
* By the way, this is _not_ the source code of rxIRC. There exists a
* special file IRC PREXX which when run through a preprocessor produces
* the actual RXIRC EXEC. That file is commented. This one is not.
*/ vers='2.0'; trace 'O'
*/ vers='2.0.1'; trace 'O'
address "COMMAND"; signal on HALT; "VMFCLEAR"
cmds='AWAY AWAIT ADMIN CHANNEL CONNECT DEOP DIE HASH INFO ISON JOIN KICK',
'KILL LIST LINKS LUSERS MODE MAIL MOTD NAMES NICK NOTICE NOTE OPER PASS',
@@ -26,6 +49,8 @@
invitation=; away=; ll.=; curll=1; logevent=0; target=time('R')
v.=; al.=; varnames=; aliasnames=; cmdchar=; userinfo=; sourcing=0
have_rxwt=0; who_empty=0; catmode=0; catlist=; abortsource=0; skiplines=0
"EXECIO * CP (STEM PF. STRING QUERY PF"
do i=1 to pf.0
a=word(pf.i,2)
@@ -37,9 +62,9 @@
"CP TERM CHARDEL OFF"
"CP TERM LINESIZE 130"
sock=; buffer=; alphalo=xrange('a','z'); alphahi=xrange('A','Z')
lf='25'x; cr='0d'x; msa='01'x; rev='02'x; beep='2f'x; undl='32'x
lf='25'x; cr='0d'x; msa='01'x; rev='02'x; beep='2fx; undl='32'x
bold='1f'x; hi='1de8'x; lo='1d60'x; yo='1d44'x
nice.=; u@n.=; via.=;
nice.=""; u@n.=; via.=;
realname=; servername=;
ignore_reply = "Your messages are not being received."
"IDENTIFY (LIFO"; pull me . mynode . rscs a .
@@ -781,18 +806,18 @@ SHUT:
return
NICE:
parse arg a'@'b;if b="" then b=mynode
if nice.a.b^='*' then do
if nice.a.b^='' then return nice.a.b
'NAMEF :userid' a ':node' b ':nick (LIFO'
if rc=0 then do;parse pull nice.a.b .
return nice.a.b;end
if b=mynode then do; 'NAMEF :userid' a ':node :nick (LIFO'
if rc=0 then do;parse pull nice.a.b .
pull ln .;if ln='' then return nice.a.b;end
parse arg a"@"bb; if bb="" then bb=mynode
if nice.a.bb^='*' then do
if nice.a.bb^='' then return nice.a.bb
'NAMEF :userid' a ':node' bb ':nick (LIFO'
if rc=0 then do;parse pull nice.a.bb .
return nice.a.bb;end
if bb=mynode then do; 'NAMEF :userid' a ':node :nick (LIFO'
if rc=0 then do;parse pull nice.a.bb .
pull ln .;if ln='' then return nice.a.bb;end
end
nice.a.b='*';end
if a='RSCS' then return b
nice.a.bb='*';end
if a='RSCS' then return bb
return a
U@N:
@@ -818,7 +843,7 @@ TELL:
parse arg tea
parse value U@N(tea) with xid xnod tea
if xid=0 then do
call OUT xnod tea
call OUT xnod tea
return
end
err=; if translate(left(tea,4))='VIA ' then do
@@ -868,6 +893,7 @@ TELL:
SOURCE:
arg a, b
if a='' then do
call S "You must specify a file to /source"
return -1
@@ -881,6 +907,13 @@ SOURCE:
'MAKEBUF'; 'EXECIO * DISKR' a '(FIFO FINIS'; skiplines=0;
do queued(); sourcing=1
parse pull l; if abortsource then iterate
if skiplines=0 then call SHELL strip(l)
else skiplines=skiplines-1
end
@@ -913,6 +946,11 @@ INTERP:
signal on SYNTAX; INTERPRET(statement); signal off SYNTAX
return rc
EXECUTE:
parse arg r
if r='' then do