Thread View: comp.sources.atari.st
1 messages
1 total messages
Started by Steven Grimm
Tue, 19 Mar 1991 00:48
v05i004: tr -- Transform characters (UNIX utility clone)
Author: Steven Grimm
Date: Tue, 19 Mar 1991 00:48
Date: Tue, 19 Mar 1991 00:48
172 lines
10621 bytes
10621 bytes
Submitted-by: david@doe.utoronto.ca (David Megginson)
Posting-number: Volume 5, Issue 4
Archive-name: tr
Here is a version of tr(1v) especially written for the Atari ST.
I use it with the MiNT ksh, but it should work just as well (or
better) with bash. This is the BSD flavour (tr a-z A-Z) rather
than the SYS V flavour (tr [a-z] [A-Z]). Source is here; binaries
are in comp.binaries.atari.st. You will need an ANSI compiler to
remake the sources. This version is FAST, because it uses my custom
buffering scheme (still portable, though).
David Megginson, 1991
=====CUT HERE=====
table
!"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
begin 644 trsrc.zoo
M6D]/(#(N,# @07)C:&EV92X: #<I\3]*@ -;___\" $ !W*?$z
M_0(!Z0( '$ !G%JQ5AU6R P > ( $ !-86ME9FEL90 y
M "@ <E!8 I % 0"DC* 1P@<2+"@P8,($RI4J&!$@B9AUI0Qx
MDX9-&1!FWL@!04<.BAAV4H 8@R:,G#!CZ)39V#&,FSELPM!)\\8-QHHJY31<w
MR+.G3Y\*&B8P$O/,'(P:01 I8D1H"R)"JA@Q4D3*ERE)M!3IX29!@C0OWH 0v
M4\>,F94@VI1IHS$/"!1D)H:IPX8.B!HP\L)(X93($"1!I$PI0N5JUJU=29I$u
MF1/$G#)VYZ31<Q&N7+IV9=2PP=?ATRE+DD#Y,D2*UXYNZ8@MZ8:,11"EF31=t
M:@1$#P5/H%"Q#:+%D]YFQKQI(R:-FS(MY)0Q"GQ.QS)NSM!!D[P,F3IC+K;(s
MV"8-G>TGU;: \\9XSJ CA#Z!,[/FT8P;A;>!4Q&M2S(@V!B7J#/]$"-,!''$r
M%+R1@$)N5(AD(&U\,4$$@ (2V$-O<^ FA!*\=>3"&^@)500>+>67AA@GR9%&q
M&4>I)J(;:X!PAW=HN-"0 DPD(401$O:F'TT=.D2%26= !@(<<KQQ1G@@N!&&p
M6B#<!P(9:2B74EM(;52<DG+D(6-Z4$CQQ!$9RN$"'73 H8 023A!1!)2\%:&o
M#B]<V6,"4!1Y74HTV20'72C.:&"77Z:@ P@&/G$A7PD8.,00(K4@%@E $(J"n
M@Q .J."!ATI:XXU3\*6 AGJ\\<:@?WIYA$@02431:U(4$001310A*:"G*I" m
M'&T 1R@0MH8J5AB[@M#JJ[%R).88(*0Z47VSFNJIAG74\::Q+OAJ*ZZZ0FIKl
MM!>!*FI0QCD7!AMLD(H"K8B. 4>S@4J*IIIL>CJ&12[I<&VNVTEJJ!(B":=<k
M4/.^(888*PTZ;QDNW9OMN<Y2ZRNUW"H0$-RGQ/T" :8* P P 9Q;54[ Gj
M"0L '8' ! 4D5!1$U% &4 H '"A7 *0!0 i
M $ I(R@ *E(<4&%"A0="1)0D1/&S1PV8>B4 =&0S(LW<D"0*<.FC$008]"$h
M83A&HIPY+A0H$),'!)$P=M*0 =&DS)DS:1R^<<,"1(P<.6(HD,*Q3)@Y96;Fg
MI/,&!!TT$Z'4$<,FS1B7;]J$R:FRRIPP9\H@I)-Q2XLQ9.9T 3&';,XS,4!Lf
M:2OGK8PN*I,X$?B$2)4A5)(\<:(221DY$]/, =&FI9W#<]+L!/'&C%,Y*&+8e
M20'"#$:G4$$$H3,R#8@I5%Q<!J&8(@@X=1!W3L/&I (X<MZ<8=@&!(HT=$ Vd
M=/,F..DU$\W0+K/X*$4Y9^JT*>.&SAS.=]!810/B#FTVEQL^C#@1HX*-'3^&c
M'!FF).3.N7L#7]RVXDBE;F 'K_@:XIB)3TV$V!QUU$:9&PK,QQ9I;I!Q'V5Ub
MT*&?:F0Y%09RBSV%6'EPT"&90SJH=%8"7@$8VAA9P='1=-519AE=;\6%0AF/a
MR9''4V^!($:$+KB0@@(MD)$ $46I)Q)))BV6TX)UN0$7D',D,$4<=911AA[Ez
M1:@?6TT]%1%C!7JH8F(.,?C?8I6!-M%7TRF0 %GB060D>^YE--)$*+:!&W-(y
MX<>4:Y$YV1%K93;T7TH*4!$:C$XNIE5+*#JD6'!I-@3ID>TEV5,8(##D))EJx
M=H:15L$IP,-Z<L3@0PNG'BF##SU]UA!E)84!GAVV5DEHJ)[)T1L7;@3K6QYOw
MU,%8&"T1%UP=2"GP1JVWYLK<KIQZ&E8*JI4( A=.=7GA1"V 4)5)MK*1AVJ*v
MME8&'F'H.:AW;+"AP!B(D>=:56VYV!U&:5$[6T>QNE&>&R 8%9*X.8FETIL9u
MG=5<"WH$T8(6()S !0PQR' ""#PPEH=R';E !Q[!^;"O'&3@2X?()*LT!11%t
M%$&$2D9\%B!;W^H[!QQ6DM%3$CKF <=1&8:FW1EHM-#18^"E<5%G=;A1TH?-s
M-=BI460D2#!$T.&)1M1KH&D9IR!/].5.__F&HY*+P8$1:50!V%05;J2!!T56r
M-S$%$4],P<)*+=U\![+8@J#H1!N9$4:8.M9AAAF'L94&EJPM5@,,F,,0M$1Sq
M]+1C<,0:.\:LZWV:8'!+WMS$MV4'31$99.38 A%"5&&$$45(\<4426A11 \\p
M9$=>C3Z@&YH8:=P4>8 K.0ZY'#W=K'A;RT/?^'YLS-%E:&U@--%TW=O8W5$2o
MS80"8N"+<5CT4"F 6N6N-5$%$X%1$<042^AUQ+$A)0P"<7?HB?:Z@Z>&G&!9n
M2*%)N9Z%@A;$@ F<^=-NPB &!92+(KBB#04'!3Z,M,12C/%>=X"#AF(%IRYSm
M6$..S "1Z5P'451 0M^* *8X2\+(!A"$*0@A20$X0@TE$(1J% %*3AA"C3[l
MC/:FHR.&Y"1([0)+4JYVE,F@0&]\\]L0H/"")H D11%) _+&E8>?L48K.!%8k
M"OYVL_<Q:UHBX((<@"6";AU+#FL(%75F4BF$"8Q0U L#'RT31S?4L2K((90"j
MZ&8WU:S.#2U)$[- ()+'7"U/<%C.3'"C&]YDJ"DP>8-,0*,8ST5(3;?)3=QZi
MDR9,AG&,P&E)6[YS-:WD!"4@T-;-9H>_)$#A"T.00F<@<H9=,6]UR&G=GT32h
MH$%93 X;0Y$<$%,2<QDS-#G94NM0 +1*3N0+ROJ"1G92!@6L3509N5GL8/2Yg
M#^DH)R/)0^&*\!B">><I(.!E_GX9S)X$<X3Q @&SZE"N/*QD36Z! \]F8H;Xf
MA,J$VES.IH+3$?)=LS4UBLQ.$'4%) 2!"BYY0A&F8#@D)(&D0^@;%7Z@$B<4e
M1SM.BI5E4!0;I*@F"&8P"0B*4)>K3*$-) 1)O<I'DS3L!6\ST<I&6!.<AEJId
M6^8,#6RH8I6>E/ .7RS03(!6%4O>DSN-00H;+),&RP#-+5/\DU82N38%S.%(c
M91@<8GX B$P1R;,,>/.J$,I-UAS5B6,#672>8>F3 8XJB%"4R#'$?A8R9Q-b
M<5N^SL"&-WC'28SADQ2;(P839M:.-Q,8'=A7+*3U2#4Z:,&/AE($*YQ4,$X a
M@1.JT 0AY$XE62B6< @6DC*,(8\W0TQ,-$HP-TA'?1E)4^C2*0>12>B=;BC-z
MM)B5(^9)80@DQ6MU,L.9/&FE0:I)@F5"-TXW')"2,)E($%0#!8;0@0XG6,RZy
M_A,OOK[F;2X:"G;1&:K1E.8T5.@)$$&:!"J$H"N\<\+^8DC#*3RAB$,H@DK2x
MU;;<3% ^2B+8S:1"U:LHUI8\ 0$XBR/.J&TDG:$Y@G$1]A]).<F"N[$2BU8Fw
MFN9<C4"UZ0EY'T4H:;K-O8D)SOG*<)84:9(S2WG#O+(R'3F,(0VV>DU[UK#9v
M$3[%LZ@*RZ9J$UBD@0!HA=4JPA+)J7'1H2/S0DSL@K/$N$)%-JD+#1F>)1V^u
MAG&CAEM4L9R<F,5PDY)OX!EGSO"&-V0M"$=,PJ:L1EYX@4=@4YP5HGGW13TMt
MQTY6FW0WL1:YLGU2 =0T\J" XQN@O3%4*C;6$"J=R8Y@>B8\M<II@/J4^!;Us
MJ%41 T-LI(!>@> (0UCU9&[FW[H &%LJ"0C<I\3] @% &@ [0H &<60U#Pr
M,Z4? !3#P 0 '1R+F, 10!E * !PC;0 "D 4 q
M ! *2,H !?J!A(L*#!@P@3*ERH\$4#!0(34)$3QLT<-F'HE $Q!DT8BF,Tp
MRID#(HT;$&% F$G#IDR"EPE4.(2H J;-F#,C"LD#@D@8.VG(@&A2YLP9DW/>o
MN&$!(D:.'#%LRGP844J9EF'FE!%JDLX;$'30;(131PR;-&- D'G3)HQ)%S"Gn
MTKP9-V?-(6S;NA%ZULW&-W#HI%$Z1\=-N1$3M!B3H(Y6L&(YLH73LDT9-W1 m
MO#$#>6/'CV%"EAF)DVI-Q602D+E:1F-G$$?M7.;H$:3(.2\1GVZ!>TZ<.F7*l
MZ-DHIPR<,AFWEK1(I^*8,KA+ST4QYDT=S"#*R):3)ZS),R#$\%QM)DP=-G12k
M2+5+-S?[)F'6E%G94G/@P18-KS?]L@41(54884014GPQ11):%-&#&R]9%890j
M)XFG$4D9H016&I9)EYA_0R 1A!13%$&%@0@JR. 0M84F$@A:939'&L-IN!L1i
M4RR1!!1?#"'%2TF<X<8;Q7'TD1QIA'$&<:W5(8=%,C+DY)-0/CG30Z:!0$(2h
M9.@ EAPNC,&"'4VY($-33\7P @PSG%D#"##DH ,,,>@P PYJ_104"$7@ 4>=g
M0 E% @ARF?80H%8R\<896M+!I9=@DC"H"B!8!=2+2H4Y)IE0G9DF#&NRZ2:<f
M<M+)9U"/@H!B14<*!<8<S0F6UG:4NG$"6%^MVBI:M'U$**SXS8H"&76@$4(*e
MCY8J:1JQAAD#")B:B:::S,* @PXU3$L##<R282<9I2;A1AJ"A<$&",5-BE^Qd
M"@ ZI0*L9H3K9W+L.EJR/8 @PI59;MGEEY8VJRFT;;X9YYRC"I7GGMKV::4(c
M.U"IP$,CF#0&&W6L!@(/K)(QF MH^ "QQ!1;C#$=9)#'L<<*1.S&Q!5O-#(9b
M9XEQ\L<KA^SR=<B2/'/*(+=\L1EC8,;&SBJS+/)H2[ZQ<Y541,8JD6Z MQD(a
M+9TAKGV"$:82D+"U!A@==3D\ GDFN?0$%%1,084423AQ1 (BC$'&'"(X+! (z
M36_TXG":<1:69RF*%F^+RX'@6!DN@! $&VR\<<=K\,E'GTNZT:K9=D1:[-T<y
M3*7!V6HO%D<&7&$_S+,9>\V70(<?ACCB@0E"3+9?JWL(HH@D)IB ##78 /%Ex
M&IMA-Z1Y;UG11>Y6VIQ9+NUG.KQ@A<'\%JS?_GJ)731L^MW%5]>&&&4+M?=?w
M?D<F1AUFF#%OXHLW_OC?AFL5KU=JS5>VC) A6SC\D=M?G^?U"]U62.<>L7DNv
M=69( ( $1*#<%4%V]J/= @=4(-@5(0$U@($&8<"$W^W%<\,#014>\[?'G"]]u
M\[+<6EZCJ.-A)&L,*J#IVN6J7,7KA.J30PRV,,$&6O %,LC>0VCXKMJ$!WTYt
ME $/ T1!!P)1B-N#%%[:H!>^E UK^(F.\R"X$MJ=+6UK:]O;XC:WND715'FIs
MB!7]HA*,G$&+I1OBK=+2%8Y\P0QN!$&]8* ](M(1.V2X8Q[WV,<Y+L=%@C22r
M'MFDO2H=R2N!04$*6$0')-(E4 HH QY$<I(Z?LTD9&@D34!@J#%<S0S7"4D6q
MU>4P/X+ #F^X$QP^HI4O/.T[*) ,<VQ(J%M�I**2[7A5+H<QR)&6PI:*^p
M,X=<5F>7T(.4+\\0 Q8\DU6\E.8RHS:F8,IQF*\L9G;TI$9E0NT,SB1,9J))o
MR7-:TXB0PN%H@"G,&L+R3FOYPFI:HI%<WE,HWF27(<T AS?,X0N9V6=KDBF&n
MUMPA.&[X@CQ'DDN"&A2ADKE.9@+JRG^JY0T(I8A%7E@&?XJ3HP,MZ$$ST\*1m
M)D>B#H6H1)$XKXJJ%*/5T2@]OVE/<3K&2"4-YYT"ZK"VF"27=0R--=6934C]l
M!)@/V<-#$N#)P(@R 7>SRE%8-4_X?9(PSDO 5+^VR$=^#05*_0D+OJ@VMKDMk
MH FX QI8$E2RAJ!>17B"$8 ) JDJX"5SN .X.I)+LD[2KU--@"D?<X(QG, Pj
M=_,>9<I@&<Q(!R9C2"1XZA4#[<%$#,6)CV<5FY6-G( ,C\4JI!2JD<N^))!Xi
M5"1G1TM5,^3RH+$%SV$3^Q*"0HT.MLT8TE@@@A(4!@0M$(H:D4N29^(1+73@h
M@AM$P +>PN0G6X!!%^ *$TV""P4RX&X"^L!;T")G#:-=K&GGD-J[^08XPJ'<g
M3&""VT$VA;:>RR5L\[C;O\+$MUT)+LF&6]SC)A<E>V&N+I\;$NE2U[HOP:YVf
MQ9L [](!O.(EKW\38%[1)E;#B25KO<P:R;3:8:UH:ZL8X0KBO]XM">7;R(&_e
MVDF2Q.8R3'DH"/RB'*6P(0^7O9M2]+;-,^Q ,W^3@V"UDN.-\%@H=+B#TF0Hd
MUK_F5RV:Y:M?7W+E3R;XKBA)2PN:HF7>_O1(DJ2MA3$\6@V_Y)BUG"9:[; %c
M+Y-ANZ/-)VM+RN+LL.$Q6ZYM8>_SY7J%!KD@Z&9?S3P'H*:9MVL.;YL3"^=Db
M3K.9V+5S%UB0:4*3804QP'-B\]E2Y/63Q0Y+0'$JN21&/J3%ICG(5*% RXVDa
MY$51JX_WJMB"OA#YG"Y(=1#D<(8Z5)8.A5$L4]DYS:E:A=4GL8.X@&.8'_GEz
M(0A95T>+^9!*FQ.7NL0FLXL,505LN8YX8 %Y6#"'XXRA2&SP+#L#(X>KOCC&y
MDFG#9(_=1D7JKT5,R6UVMM.=N48MR) R"0NE5Q]-/B<PKWFF1C!#DJG!;YH[x
M0#B2Q:)D9)4AX'GT,4_@)_'+(+MOKYDF7.1294';4>#]?>U\%MG9Q+:[#.^^w
M&B&GV@<_ WK4,]^Y?V^>\W'-EN>IOML46O,:N;ZA/LN#^E?@1Q[SH(=%K1%,v
MU$C'\JF: 4BYQ,,B^0@"L?/ 5+9SG0./C(<5K*#<+XEZ&;: ARXLDCSVAM3!u
MEGOQ(A.0RE/5Y"SW\NVHH6":+)AH#(CJ8D@Y",I.(W=7IAX9N9>NY5^70R[It
MO4C%'UD%]#XRO=T.]P3(?0N@5Y3=ZT5T>&L/UC21]5]IC4RP2#G?O/9U.YFYs
MM?F)U-3X";;I$C#L8A\[V==<)SQW'[48\#;YV63^&63@["2U6MH4*T.UAXSMr
M@VC;D/_L=JT+_\9T0G/YTZPF],=]SFY&=:KHEO?RZ5U-2-%;!GD?Y^"%(H8Wq
MA$7ZG!,>0"('CO,=KY$&+_ 5$X4;7?=7@E=.<I9^B4=3.@17#TAX$5AD,C"!p
M*"0'DC95]-=Y%%AS?W5_(MB!^)=T"8=ODE49)M=OX/%OK<$4AS-PHU%P!G@^o
M8,-R=T-R@7,;A9-^805_MO5R_+5HPZ=:,/@:)I<&06)YKI58F1=V8\=V%X-Vn
MK8,[%L1VI$<L&W9Z=4=S5Z6$UR%P/@@:@F-C:2 ;,<1R+9< 4P@"GT=_HJ<Hm
M,="%O'5ZJ:=#J^=J2=B#OT=2*,$X,)@J-J0B\^):<2AVA%1V5U@]:K>%9=>%l
M2 @35P:&=A=S,(&)B[2'*;AA+J<"*'!_H#9)7G@3I+@"M.5FXZ6"6)<9=; Gk
M\%-J+X0?T<,\0_A7/7<5/^=?<3B'=EB'.D2)@69Z##=W>QAJG7A_^%6$HDB*j
MBU=Z;Z8H,N!VDZ:+KS95L6804[5W"982NZ9&O79%TW1(7Y$2J$2(*B=LQ&9Li
M)H=\RX9^1?9\RS=1IA<9UD$'9)$9$U5]T/9*TZ9]"6!M9=!]!O%]X!1^F41.h
M&%ADYB=N\NA.[#11Y79NV#$&GC55<D57N:0"Y:B)5R:*TU2*>E0O)] "LV("g
M)@ HAU=D*Q!>9;9A<9@6]>*1179D:<$#-=F2Y_22P<01> B*HCA1;C=)]8*1f
MO%6.*U O,]!F/K<1(5F./6"27, %LZ*)H<B3WT&2/F"2,' "$*:2+#F2T:B3e
M(' "-W"5E8A9G8@";C=-DS1F)_"5J\A;(:F54<.57@F6H)@ 8BF2+EF6)IF6d
M,6D3-,D1A$(G;R>*;UED<7F6=,E;K)B59#E)70F9?'D3?XF79T"29HF6:EF,c
MBK5(:0$IBLF2C7E.CSF7)U"7&S:4%%B4I$E;(ZF*'_:4:QD3*$"4*V"48^F2b
MO7F-K?A7*D"15!F9"@![ B%[JP,8/&$&!-@&E*0Q)T$_&9./3,%:!@@OB#@2a
MPI=MK01^W*8 >L8:I_9^?V51*T4KS<$&7Q!:9, "7M&>7W '1*(15[5"@3:?z
MXO*>R"$4]0*?* #')A#U=1#%50B0,1=E^A__0F?(. #;"*-_.F>]@DN&U$Oy
M>P934293"X@"%>J?#\)=%]I/U311&QBB)5H&?;:1+9%+(0JA$@H#.Y6<P\.<x
M1L 2*[)GX1%3L[& W^E]X0E.ZHE0#[&A#=6AES%3'=A,*G%3ZV0=V.&%6U:Dw
MF9%N^:A259AJBUB%CGAV.8497/AV_14Q9D >(% C-Y(C4I!8=],_+*(D&Q$6v
M%:)C/ H_7! O60$"#T6(6>%:/1@9TE4X%0$">3JHW@,^;I \;3A?;WAEBD=Wu
MJT>5<I"2*QFI;:>,4WF6TI69,"&6(7!Z)]"IF?A\2J%UP*$](P \ *2F.*(Ct
MB75EH7J,6X"I75"J&X:B=58'^FA0;M>'MNI9;K9J2G(266I0KW>CW/A7> $'s
MSQF=TZEPUDDRV&D\+J5UX,&=:1BD!SFD/44JY E2M)@<DH2>< BE[/F@_RF?r
M#FJA]UD&^?D5^]FN(@J@Y/*? UJ@HW&@3.1#"OJ!_M6@]"FC$WJ*<4>O*[I(q
MXZH1'/I02_JA,?J?)/JN*'"B%)BB"/NN+3I7+YJN[DFP-!I0RHD04Y6CZ-%5p
M@9@</:JD$4*!<\"M!8&0-62E#[&P#.6C$?6A3WI14:I35.IUZ(JEO*JE0D=5o
MV($1K (]0N=U8.>(C6AV&26FDTBF2&BF:.JJ;.JFD )CKS&H^G,&L?1+]--0n
MWJ,W;-$:!@<>O/AQ@ HI.C8':& =; A_B<9SMJU<G!YCUJ$MEJ2G%JI(""6m
MF IJD\JILF)=8BFJI"J-;6>;*<.JPA.P13BKTV.KF9B;2$L'2GM$';A#=4=;l
MNGJL<_"KBY2Y\.*4:UL215A?BI2XM&JY?FNZ1H25$F<2J7J;J>M75CMS6 NKk
M_G5O?&IK3YBRV&J.AKH4'[5C=?L@J>&&=Y.GO:>\C[.;%'@YHX%'CJ,>,K2Jj
M'\09O=NF&R:[NE(OIV>YH'NQN]JKH[L"?2B^]?9A2/=7Q-IJHINLIK.-!3%Ki
MOV4A9[81EC$'C78D,$L0,HLK"MF_Y6IN0/M; K8:<B 'Q-6_B1(O6[ 8<P,"h
M6Y!^&#Q-072K#B:R#Q$0W*?$_0( g
: _(, f
e
end
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads