Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!cs.utexas.edu!sun-barr!newstop!grapevine!panarthea.ebay.sun.com From: koreth@panarthea.ebay.sun.com (Steven Grimm) Newsgroups: comp.sources.atari.st Subject: v05i004: tr -- Transform characters (UNIX utility clone) Keywords: zoo, uue, C Message-ID: Date: 19 Mar 91 00:48:25 GMT Sender: news@grapevine.EBay.Sun.COM Reply-To: david@doe.utoronto.ca (David Megginson) Lines: 172 Approved: koreth@panarthea.ebay.sun.com 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: # ( $ !-86ME9FEL90 y M "@ ,F94@VI1IHS$/"!1D)H:IPX8.B!HP\L)(X93($"1!I$PI0N5JUJU=29I$u MF1/$G#)VYZ31TGU;: \\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= !@(<!*FI0QCD7!AMLD(H"K8B. 4>S@4J*IIIL>CJ&12[I<&VNVTEJJ!(B":=.&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=: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_8-,0*,8ST5(3;?)3=QZi MDR9,AG&,P&E)6[YS-:WD!"4@T-;-9H>_)$#A"T.00F<@>K3*$-) 1)OE/ .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]).DU[UK#9v M$3[%LZ@*RZ9J$UBD@0!HA=4JPA+)J7'1H2/S0DSL@K/$N$)%-JD+#1F>)1V^u MAG&CAEM4L9RB8\M@> (0UCU9&[FW[H &%LJ"0Co 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@P PYJ_104"$7@ 4>=g M0 E% @ARF?80H%8R\<896M+!I9=@DC"H"B!8!=2+2H4Y)IE0G9DF#&NRZ2:\V70(Y6VIQ9+NUG.KQ@A<'\%JS?_GJ)731L^MW%5]>&&&4+M?=?w M?DVC) 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,4P/X+ #F^X$QP^HI4O/.T[*) ,7T(.4+\\0 Q8\DU6\E.8RHS:F8,IQF*\L9G;TI$9E0NT,SB1,9J))o MR7-:TXB0PN%H@"G,&L+R3FOYPFI:HI%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?9PN0G6X!!%^ *$TV""P4RX&X"^L!;T")G#:-=K&GGD-J[^08XPJ'RR5L\[C;O\+$MUT)+LF&6]SC)AV&N+I\;$NE2U[HOP:YVf MQ9L [](!O.(EKW\38%[1)E;#B25KO7;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#]?>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=.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#$&GC55E0O)] "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*;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(% C-Y(C4I!8=],_+*(D&Q$6v M%:)C/ H_7! O60$"#T6(6>%:/1@9TE4X%0$">3JHW@,^;I \;3A?;WAEBD=Wu MJT>5,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)@< 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@(C6AV&26FDTBF2&BF:.JJ;.JFD )CKS&H^G,&L?1+]--0n MWJ,W;-$:!@<>O/AQ@ HI.C8':& =; A_B<9SMJU;*<.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: