LK-KARI@FINTUVM.BITNET (Kari Sutela) (03/15/89)
Earlier this year I reported a bug in ARexx's date()-function to Bill Hawes and he kindly replied to me and said that he is preparing a patch to the rexx library which should correct this and some other bugs. He promised to send this patch to comp.binaries.amiga as well as BIX. Nevertheless, this patch hasn't showed up in here. BTW, in a recent letter he said that his usenet- connection has dried up - this might be the cause for its non-appearance. Now I must ask all you with a BIX-access if it has been posted there. If so, how could I get it? Well, I could always ask Bill himself for the patch, but I think this patch is not too improtant - if I can get it by email, I'll be satisfied, but it's not worth sending disks across the Atlantic. Anyway, the bugs are minor and haven't bothered me too much. - Kari Sutela lk-kari@fintuvm.utu.fi OR lk-kari@fintuvm.bitnet OR sutela@tucos.cs.utu.fi PS. If you are curious about the date()-bug, try setting the system date to Newyear's eve (Dec 31) and checking what date() returns. Amusing, isn't it.
lfk@uts.amdahl.com (Lynn Kerby) (03/27/89)
In article <709LK-KARI@FINTUVM> LK-KARI@FINTUVM.BITNET (Kari Sutela) writes: >Earlier this year I reported a bug in ARexx's date()-function to Bill Hawes >and he kindly replied to me and said that he is preparing a patch to the >rexx library which should correct this and some other bugs. He promised to >send this patch to comp.binaries.amiga as well as BIX. Nevertheless, this patch >hasn't showed up in here. BTW, in a recent letter he said that his usenet- >connection has dried up - this might be the cause for its non-appearance. > >Now I must ask all you with a BIX-access if it has been posted there. If so, >how could I get it? Well, I could always ask Bill himself for the patch, but >I think this patch is not too improtant - if I can get it by email, I'll >be satisfied, but it's not worth sending disks across the Atlantic. Anyway, >the bugs are minor and haven't bothered me too much. > >- Kari Sutela lk-kari@fintuvm.utu.fi OR lk-kari@fintuvm.bitnet OR > sutela@tucos.cs.utu.fi > >PS. If you are curious about the date()-bug, try setting the system date to >Newyear's eve (Dec 31) and checking what date() returns. Amusing, isn't it. I don't know if you would have seen this, as I posted this back in November of last year. The following shar contains the source and uuencoded binary for a patch to fix the DATE() function in rexxsyslib.library. Read the README for details. Lynn Kerby ---------Cut Here------ #! /bin/sh # This is a shell archive, meaning: # 1. Remove everything above the #! /bin/sh line. # 2. Save the resulting text in a file. # 3. Execute the file with /bin/sh (not csh) to create: # README # rxpatch.c # rxpatch.uue # This archive created: Sun Mar 26 21:02:37 1989 # By: Lynn Kerby (Amdahl Corporation, Sunnyvale, CA) export PATH; PATH=/bin:/usr/bin:$PATH if test -f 'README' then echo shar: "will not over-write existing file 'README'" else cat << \SHAR_EOF > 'README' This is a small program to patch (and unpatch if desired) the rexxsyslib.library file for AREXX v1.06. It attempts to do reasonable things on error, but doesn't go as far as it probably could. If you are not running v1.06, do not try running the patch program!! The problem is that the new DATE() function doesn't understand that people like to see dates like 31-jul-88 instead of 00-aug-88. I called Bill Hawes and he said the change was pretty minor, so I decided to try finding the code in rexxsyslib.library that needed replacing. If you don't feel like trusting my code, the change is pretty easy to make using a filezap utility. OFFSET 0x7c88 VER 0xb44064ee REPL 0xb44062ee (Using NewZAP, the mod goes at offset 0x88 in sector 63 of the file) The program makes it a little easier. Syntax is rxpatch [-r]. The -r option will remove the patch if you want to get rid of it. You will have to kill the Master Rexx process (via. rxc) and flush the libraries for this to take effect. Running rexxmast again will cause the library to be read in from disk with the patch. All standard disclaimers apply, and please keep a copy of the old rexxsyslib.library around in case something goes wrong! Lynn Kerby lfk@uts.amdahl.com ...!amdahl!lfk SHAR_EOF if test 1264 -ne "`wc -c < 'README'`" then echo shar: "error transmitting 'README'" '(should have been 1264 characters)' fi fi if test -f 'rxpatch.c' then echo shar: "will not over-write existing file 'rxpatch.c'" else cat << \SHAR_EOF > 'rxpatch.c' /* * Program to patch the DATE() function of rexxsyslib.library to correct * a problem with months that have more than 30 days. * * USAGE: rxpatch1 [-r] * * The program will only open LIBS:rexxsyslib.library. The -r option * removes the patch (If you really want to). * * Written by Lynn Kerby with patch info from Bill Hawes * * No warrantees expressed or implied. Keep a copy of the old * rexxsyslib.library around just in case. */ #include <fcntl.h> unsigned long offs=62*512+0x88; unsigned long orig=0xb44064ee; unsigned long repl=0xb44062ee; main(argc, argv) int argc; char **argv; { int libfd; long cur; int undoflag = 0; if (argc == 2) { if (*argv[1]++ == '-') { if (*argv[1] == 'r') undoflag = 1; else usage(); } else usage(); } else { if (argc != 1) usage(); } libfd = open("LIBS:rexxsyslib.library",O_RDWR); if (libfd == -1) { write(2,"ERROR:Unable to open rexxsyslib.library\n",40); exit(5); } (void) lseek(libfd,offs,0); if ((read(libfd,&cur,4)) == -1) { write(2,"ERROR:Read of rexxsyslib.library failed\n",40); exit(5); } if (undoflag) { if (cur != repl) { write(2,"ERROR: rexxsyslib.library not patched\n",38); } else { (void) lseek(libfd,offs,0); (void) write(libfd,&orig,4); } } else { if (cur == repl) { write(2,"ERROR: rexxsyslib.library already patched\n",42); } else if (cur != orig) { write(2,"ERROR: verify of data failed\n",29); } else { (void) lseek(libfd,offs,0); (void) write(libfd,&repl,4); } } close(libfd); } usage() { write(2,"USAGE: rxpatch [-r]\n",20); exit(0); } SHAR_EOF if test 1611 -ne "`wc -c < 'rxpatch.c'`" then echo shar: "error transmitting 'rxpatch.c'" '(should have been 1611 characters)' fi fi if test -f 'rxpatch.uue' then echo shar: "will not over-write existing file 'rxpatch.uue'" else cat << \SHAR_EOF > 'rxpatch.uue' begin 755 rxpatch M #\P # ( -& &0 $ /I #1D[Z!.I. M5?_X0FW_^ QM ( "&8T(&T "B)H 12J $#!$ +68<(&T "B)H 0,$0!R M9@@[? !__A@!$ZZ AY@!$ZZ AA@# QM $ "&<$3KH""C\\ )(>@$H3KH" MQEQ/.T#__@QM_____F8</SP *$AZ 28_/ "3KH(ZE!//SP !4ZZ";A43T)G M+RR C\M__Y.N@'^4$\_/ $2&W_^C\M__Y.N@/"4$^P?/__9AP_/ H2'H! M"S\\ ).N@BF4$\_/ %3KH)=%1/2FW_^&="("W_^K"L@ IG%#\\ "9(>@$( M/SP DZZ"'I03V B0F<O+( "/RW__DZZ 9903S\\ 1(;( &/RW__DZZ"%90 M3V!>("W_^K"L@ IF%#\\ "I(>@#M/SP DZZ"#A03V! ("W_^K"L@ 9G%#\\ M !U(>@#Z/SP DZZ"!I03V B0F<O+( "/RW__DZZ 3903S\\ 1(;( */RW_ M_DZZ!_903S\M__Y.N@G^5$].74YU3$E"4SIR97AX<WES;&EB+FQI8G)A<GD M15)23U(Z56YA8FQE('1O(&]P96X@<F5X>'-Y<VQI8BYL:6)R87)Y"@!%4E)/ M4CI296%D(&]F(')E>'AS>7-L:6(N;&EB<F%R>2!F86EL960* $524D]2.B!R M97AX<WES;&EB+FQI8G)A<GD@;F]T('!A=&-H960* $524D]2.B!R97AX<WES M;&EB+FQI8G)A<GD@86QR96%D>2!P871C:&5D"@!%4E)/4CH@=F5R:69Y(&]F M(&1A=&$@9F%I;&5D"@!.50 /SP %$AZ !@_/ "3KH&^%!/0F=.N@?(5$]. M74YU55-!1T4Z(')X<&%T8V@@6RUR70H $Y5 !(YPP@."T "$ZZ!T(P!,'\ M 8D0-7L@!I*1&T*N&R #FP$2I)F$#E\ * 'G#_3-\$,$Y=3G4P+0 .2,!3 M@"\ +RT "B\23KH)2BH L+S_____3^\ #&8,3KH(_CE @!YP_V#*0J="IR\2 M3KH))D_O Q@NDY5 _+0 ,/SP# 2\M AA!E!/3EU.=4Y5 !(YP\P)&T M"$ZZ!K(F;( :> !@#C $P?P !DJS" !G#E)$N&R #FWL>@9@ #$""T 0 , M9S!(>/__+PI.N@B2+ !03V<@+P9.N@C*+PI.N@AD2H!03V8.3KH(;CH L'P MS68 (Q(> /M+PI.N@AP+ !*AE!/9F (+0 QF!'H!8&Q(> /N+PI.N@A2 M+ !03V8(3KH(,CH 8%1(> A2'H DDZZ".XN %!/9PHO!TZZ")A83V >2'@ M 4AZ ((O!DZZ"%Q(>/__0J<O!DZZ"#)/[P 88"8P+0 ,P'P% +!\!0!F&"\& M3KH'LGH$6$\Y18 ></],WPSP3EU.=3 $P?P !B>&" P!,'\ 8@0-'+,6T M# $""T P ,9Q!(> !0J<O!DZZ!]A/[P ,, 1@PF1O<RYL:6)R87)Y M3E4 $CG#" X+0 (3KH%;# $P?P !B1 U>R &DI$;0JX;( .; 1*DF80.7P M H ></],WP0P3EU.=3 J 3 ? #L'P 68*.7P !8 ></]@X' ,"T #B\ M+RT "B\23KH'4"H L+S_____3^\ #&8,3KH'$CE @!YP_V"T( 5@L&%P0^R M&D7L@!JUR68.,CP $FL(= BPE')__PI3X @+'@ !"E.@"1(YX" ""X ! $I M9Q!+^@ (3J[_XF &0J?S7TYS0_H ($ZN_F@I0( H9@PN/ #@ =.KO^48 1. MN@ :4$].=61O<RYL:6)R87)Y $GY !__DYU3E4 "\*2'D 0 ,"R #L'\ M 8O $ZZ!P I0( :4$]F%$*G2'D 0 3KH&Q%!/+FR ($YU(&R &D)H 0@ M;( :,7P 0 0(&R &C%\ $ "B!L@" @+( @D*@ !%" *4" +"!L@"P@O$U! M3EA"ITZZ!K0D0$JJ *Q83V<N+RT #"\M @O"DZZ *XY? !@# @;( : &B M $(&R &@!H@ "D_O Q@0DAJ %Q.N@;.2&H 7$ZZ!I I0( R(&R ,DJH M "103V<0(&R ,B)H "0O$4ZZ!9)83R\L@#(O"DZZ F@I;( R@#903TZZ!9(@ M;( :((!.N@6T(&R &B% 9G%DAX ^U(>@ J3KH%D"!L@!HA0 ,4$\O+( V M/RR .DZZ^7A"9TZZ ZQ03R1?3EU.=2H 3E4 $CG## D;0 0(&T "$JH *QG M&"!M @@* "LY8 H "!$("@ $.6 )D!@!"9L@! 0$TB 2,#0K0 ,5( Y0( \ M0J<P+( \2, O $ZZ!9(I0( ^4$]F"$S?##!.74YU$!-(@#H /P4@2U*(+P@O M+( ^3KH!?C %2, @0-'L@#Y#^@%$$-EF_#\M XO"B\L@#Y.N@$Z(&R /D(P M4 Y? !@#HP!4C T*R /B9 4HLD2T_O !00$TB .@"P? @9QBZ? )9Q*Z M? ,9PRZ? -9P:Z? *9@12BV#8#!, (&UZ#!, (F8N4HL@2U*+$!!(@#H M9QX@2E**$(6Z? B9A ,$P B9@12BV &0BK__V "8-9@."!+4HL0$$B .@!G M)KI\ "!G(+I\ EG&KI\ QG%+I\ UG#KI\ IG""!*4HH0A6#.($I2BD(0 M2D5F E.+4FR .F _UI"$D*G,"R .E) 2,#E@"\ 3KH$<"E @#903V8(0FR M.F _MAZ "9L@#Y@)# %2,#E@"!L@#8ABP@ ($L@"$H89OR1P%.(, A20$C MU\!21;IL@#IMUC %2,#E@"!L@#9"L @ 8 #^E" ,#Q__V $,"\ #"!O 1* M&&;\4T@B;P (4T 0V5?(__QG D(0("\ !$YU3.\# $( @R+P ,8 (0V5?) M__QG!E)!8 )"&%')__Q.=4Y5 !(YPXP)&T "$*G2'H CDZZ _8I0(!"4$]F M"$S?#'!.74YU(&T #")H "0O*0 $3KH$)B@ 6$]G4DAZ &T@1"\H #9.N@/X M)D!*@%!/9S1(> /M+PM.N@+Z+ !03V<D( ;E@"H ($4E: ( *0E1@"<2'@# M[4AZ #A.N@+6)4 H%!/+P1.N@/$6$\O+(!"3KH#*$*L@$)83V" :6-O;BYL M:6)R87)Y %=)3D1/5P J $Y5 !(YPP@."T "$ZZ ' P!,'\ 8D0-7L@!I* M1&T*N&R #FP$2I)F$#E\ * 'G#_3-\$,$Y=3G4P*@ $P'P V8*.7P !8 > M</]@Y' ,"T #B\ +RT "B\23KH"A"H L+S_____3^\ #&8,3KH"&CE @!YP M_V"X( 5@M$Y5__Q(>! 0J=.N@+H*T#__ @ Q03V<22FR ,&8(("W__$Y= M3G5.N@ &< !@]$Y5 !(> $2'H '$ZZ ?(O $ZZ B _/ !3KH #D_O Y. M74YU7D,* $Y5 !*K(!&9P8@;(!&3I _+0 (3KH "%1/3EU.=4Y5__PO!# M M A(P"M __Q*K( :9RAX & */P1.N@#^5$]21+AL@ YM\# L@ [!_ &+P O M+( :3KH""E!/2JR 2F<&(&R 2DZ02JR %&<*+RR %$ZZ 8983TJL@$YG""!L M@$X@K(!22JR 5F<*+RR 5DZZ :)83TJL@%IG"B\L@%I.N@&26$]*K(!>9PHO M+(!>3KH!@EA/2JR 8F<*+RR 8DZZ 7)83RQX 0(+@ $ 2EG%"\-2_H "DZN M_^(J7V &0J?S7TYS2JR ,F8P2JR /F<H,"R /$C +P O+( ^3KH!8C L@#I2 M0$C Y8 O "\L@#9.N@%.3^\ $& .3KH!/"\L@#).N@%H6$\@+?_\+FR ($YU M*!].74YU3E4 $CG#B X+0 (, 3!_ &)$#5[( :2D1M"KAL@ YL!$J29A Y M? "@!YP_TS?!'!.74YU""H !P $9@@O$DZZ I83T*2< !@XB(O 0L;( H M3N[_W"(O 0L;( H3N[_@B(O 0L;( H3N[_N"QL@"A.[O_*+&R *$[N_WQ, M[P & 0L;( H3N[_K$SO 8 !"QL@"A.[O_B+&R *$[N_\1,[P . 0L;( H M3N[_UDSO X !"QL@"A.[O^^3OH B(O 0L;( H3N[_IDSO X !"QL@"A. M[O_02.<!!$SO(( #"QL@"1.KO^43-\@@$YU3OH B)O 0L;( D3N[^8DSO M , !"QL@"1.[O\Z(F\ !"QL@"1.[O[:+&R )$[N_WPB;P $("\ ""QL@"1. M[O\N(&\ !"QL@"1.[OZ,+&R )")O 0@+P (3N[]V")O 0L;( D3N[^ADSO M , !"QL@"1.[O[.(&\ !"QL@"1.[OZ 3.\# $+&R 0D[N_Z @;P $+&R M0D[N_Z8@;P $+&R 0D[N_[( /L 0 $ 5@ _( /J L !@ ?(BT0&3NM$!B[@ 4 _( /K 0 _+J end SHAR_EOF if test 4798 -ne "`wc -c < 'rxpatch.uue'`" then echo shar: "error transmitting 'rxpatch.uue'" '(should have been 4798 characters)' fi fi exit 0 # End of shell archive -- Lynn Kerby - Amdahl Corporation Sunnyvale, CA ...amdahl!lfk lfk@uts.amdahl.com Disclaimer: Any and all opinions expressed herein are my own and do not necessarily represent the views of anyone, especially my employer.