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

1 Commits
2.0 ... 2.0.1

Author SHA1 Message Date
George McMullen
62aca2100b Version 2.0.1 of rxIRC (By Lynx (244661 at DOLUNI1) 1993) 2013-06-08 14:43:28 -07:00

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 /* rxIRC
* Internet Relay Chat client program for VM/CMS systems * Internet Relay Chat client program for VM/CMS systems
* written by Carl 'LynX' v. Loesch (loesch@informatik.uni-oldenburg.de) * 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 * Scott Maxell, Juan Courcoul, Rob Blais, Mike Letourneau, Grant Pair
* (in historical order mostly). Thank y'all very much! * (in historical order mostly). Thank y'all very much!
* *
* requires RXSOCKET MODULE version 2 by Arty Ecock (eckcu@cunyvm.bitnet) * requires RXSOCKET MODULE version 2 by Arty Ecock (eckcu@cunyvm.bitnet)
* *
* Copyright (C)1991,2,3 by Lynx & CvO University Oldenburg, Germany * 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 * 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 * special file IRC PREXX which when run through a preprocessor produces
* the actual RXIRC EXEC. That file is commented. This one is not. * 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" address "COMMAND"; signal on HALT; "VMFCLEAR"
cmds='AWAY AWAIT ADMIN CHANNEL CONNECT DEOP DIE HASH INFO ISON JOIN KICK', 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', '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') invitation=; away=; ll.=; curll=1; logevent=0; target=time('R')
v.=; al.=; varnames=; aliasnames=; cmdchar=; userinfo=; sourcing=0 v.=; al.=; varnames=; aliasnames=; cmdchar=; userinfo=; sourcing=0
have_rxwt=0; who_empty=0; catmode=0; catlist=; abortsource=0; skiplines=0 have_rxwt=0; who_empty=0; catmode=0; catlist=; abortsource=0; skiplines=0
"EXECIO * CP (STEM PF. STRING QUERY PF" "EXECIO * CP (STEM PF. STRING QUERY PF"
do i=1 to pf.0 do i=1 to pf.0
a=word(pf.i,2) a=word(pf.i,2)
@@ -37,9 +62,9 @@
"CP TERM CHARDEL OFF" "CP TERM CHARDEL OFF"
"CP TERM LINESIZE 130" "CP TERM LINESIZE 130"
sock=; buffer=; alphalo=xrange('a','z'); alphahi=xrange('A','Z') 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 bold='1f'x; hi='1de8'x; lo='1d60'x; yo='1d44'x
nice.=; u@n.=; via.=; nice.=""; u@n.=; via.=;
realname=; servername=; realname=; servername=;
ignore_reply = "Your messages are not being received." ignore_reply = "Your messages are not being received."
"IDENTIFY (LIFO"; pull me . mynode . rscs a . "IDENTIFY (LIFO"; pull me . mynode . rscs a .
@@ -781,18 +806,18 @@ SHUT:
return return
NICE: NICE:
parse arg a'@'b;if b="" then b=mynode parse arg a"@"bb; if bb="" then bb=mynode
if nice.a.b^='*' then do if nice.a.bb^='*' then do
if nice.a.b^='' then return nice.a.b if nice.a.bb^='' then return nice.a.bb
'NAMEF :userid' a ':node' b ':nick (LIFO' 'NAMEF :userid' a ':node' bb ':nick (LIFO'
if rc=0 then do;parse pull nice.a.b . if rc=0 then do;parse pull nice.a.bb .
return nice.a.b;end return nice.a.bb;end
if b=mynode then do; 'NAMEF :userid' a ':node :nick (LIFO' if bb=mynode then do; 'NAMEF :userid' a ':node :nick (LIFO'
if rc=0 then do;parse pull nice.a.b . if rc=0 then do;parse pull nice.a.bb .
pull ln .;if ln='' then return nice.a.b;end pull ln .;if ln='' then return nice.a.bb;end
end end
nice.a.b='*';end nice.a.bb='*';end
if a='RSCS' then return b if a='RSCS' then return bb
return a return a
U@N: U@N:
@@ -818,7 +843,7 @@ TELL:
parse arg tea parse arg tea
parse value U@N(tea) with xid xnod tea parse value U@N(tea) with xid xnod tea
if xid=0 then do if xid=0 then do
call OUT xnod tea call OUT xnod tea
return return
end end
err=; if translate(left(tea,4))='VIA ' then do err=; if translate(left(tea,4))='VIA ' then do
@@ -868,6 +893,7 @@ TELL:
SOURCE: SOURCE:
arg a, b arg a, b
if a='' then do if a='' then do
call S "You must specify a file to /source" call S "You must specify a file to /source"
return -1 return -1
@@ -881,6 +907,13 @@ SOURCE:
'MAKEBUF'; 'EXECIO * DISKR' a '(FIFO FINIS'; skiplines=0; 'MAKEBUF'; 'EXECIO * DISKR' a '(FIFO FINIS'; skiplines=0;
do queued(); sourcing=1 do queued(); sourcing=1
parse pull l; if abortsource then iterate parse pull l; if abortsource then iterate
if skiplines=0 then call SHELL strip(l) if skiplines=0 then call SHELL strip(l)
else skiplines=skiplines-1 else skiplines=skiplines-1
end end
@@ -913,6 +946,11 @@ INTERP:
signal on SYNTAX; INTERPRET(statement); signal off SYNTAX signal on SYNTAX; INTERPRET(statement); signal off SYNTAX
return rc return rc
EXECUTE: EXECUTE:
parse arg r parse arg r
if r='' then do if r='' then do