Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!gatech!udel!mmdf From: V61%DHDURZ1.BITNET@cunyvm.cuny.edu (Ronald Lamprecht) Newsgroups: comp.os.minix Subject: fopen (r+,w+,a+) Message-ID: <18518@louie.udel.EDU> Date: 26 Jun 89 19:39:55 GMT Sender: mmdf@udel.EDU Lines: 181 Included are new versions of fdopen.c,fflush.c,fgetc.c,fopen.c,fputc.c, freopen.c,prints.c and a patch for stdio.h which add r+,w+,a+ modes, correct the append mode and flush the write buffers on every newline char.: Mode Create Trunc Read Write Append "r" no no yes no no "w" yes yes no yes no "a" yes no no no yes "r+" no no yes yes no "w+" yes no yes yes no "a+" yes no yes no yes The new version is hacked together from the PC version 1.3 including the following patches and comments: - Minor bugs in Atari ST minix library by Jwahar R. Bammi 27 Oct 88 - Minix/ST getc bug + fix by Frans Meulenbroeks 31 Oct 88 - fopen/fclose bug + fix by Frans Meulenbroeks 11 Nov 88 - new and improved freopen.c (I hope) by Frans Meulenbroeks 11 Nov 88 - Re: new and improved freopen.c (I hope) by Brian Katzung 14 Nov 88 - Re: new and improved freopen.c (I hope) by Frans Meulenbroeks 18 Nov 88 - flushing stdandard io streams by Martin Leisner 28 Feb 89 Additionally I have modified prints.c, which issued a direct write call without previously flushing the buffer: putchar('a');prints("b"); result: ba !! Furthermore I eliminated the limit of a maximum of 128 characters per prints call. What remains to be done: totally new f* routines which are much faster (fread, fwrite still call fgetc res. fputc once for every byte !!) and with a better error handling. ST: - the Makefile should be modified according to the official updates (getc -> fgetc, putc -> fputc) - fcntl.h is included (from PC version 1.3) - fseek.c is included (slightly improved PC version 1.3) (the ST version contains a bug reported by F.Meulenbroeks 11 Nov 88) The files are tared, compressed and uuencoded.(Sorry, but I'm on EBCDIC-Bitnet) Bitnet: V61@DHDURZ1 Ronald Lamprecht UUCP: ...!unido!DHDURZ1.bitnet!V61 Theoretische Physik ARPAnet: V61%DHDURZ1.BITNET@CUNYVM.CUNY.EDU (Heidelberg, West Germany) --------------------------------cut here------------------------------------ table !"#$%&'()*+,-./0123456789:;<=>? @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ begin 644 fio_tar.Z M'YV-9L:XH:(U\(5(%BA$B"6" %4O6x M+%J>:H\4H?(V08P$"9[RE%-F3ADY=LJ0J3JU:ATZ=0B#J&.8J]>P8\N>O:MVw MRMZ^,@ +!D'8,&+%C*F:>1SY+.7-7>=FMLOYBUZ^3!+,$ V5=.'#B1>;:;P:v MLN37EF77W9SVBV?<"6CP'OS[M'#BK(]7!A%;@6"I5-_ *>,&A8RMW+TJUWP7u MQ),O4H@\<<(D2]SUM-&^OR)E?GV_^#''TWOQ\9> # HTI>""##8(@!EDB$>>t M"V,X:"%1'6&D$4<=?5121R1Q:%(,-VG$$@TUP####"C"H-)%,I"X4T\7UFCCs MC3CFJ...3(T6@TI*U.$&"#CD@)8<*[!P1Y)AK,!3&&2(M=A=4@3!1'I?C5#6r M&&S4(18(/,Q!!QEIO&&0#UG2Q1X(4#3Q!!%%W&531E\I8$023,2I H02E@1@(AG*J: )WYLF=p M&7!\RJBCW+41!AMLO#$&"BE\VJD9;(1QQAP@]+"2HI4.1Q4*:>2Z*PA?E/D%o M'6&(P4896Z31!0@AZ(I"J'JF ,(.W"ZP@I;59I &F: @ *G(/B@JQ/43@$"n MH8!96H9QY4V+9[5.5,$$$[%^E< <=Z1!!Z,H0"IH&2E06ND8851VPATGZ. Mm MK;;BRH>N_"5!11%NPOEI F(0%L8:O": L,)A- S"P[7>"L+$(%1\<<9Q\@%"l M$%! 48031,"\,1N&E;$&"G_"P 0+YVW<<1D?9]L>6OJ.?-8)FV\"?7RU-$_@B@M"j MI,S&\&P/NIZPP@F$WFUX52E+;#41_.FL;]YL5P6'L&U7N_>JK8XA[AQIZ%'&i M&V:,2VT*I.RZNW;EJ<>-+Z^]PM&"#U^,\8:0A^H*PZ>DWOX%h MA,(F6KOP$*NL:_)S &\[[F+4$:ZNJK+JZKA"5&'$%$EHL:ZLX8X;//32FR[Ng MJ8^J?N^Z#S\_?.)5\U2%$]D;8<2G9?!\5OO(P\]R$D]H0A;J%[+Q?0$.=*#*f M\MP7/3-\JEAO.%:REM6LOTGN4VJ+C)_@D*^ZW4QK&O.6_GP&-#*P0&A$FQO'e M/ :RPS4M84^+&MH2P+SX72UK.O,:8, &,K&-A6QFFV$&Y1 OU+U-=G,S ZTHd M@P8*\>B)(M+0AUX"$A&-9(HBN4%.5I*1%*V(!E*$44IF!,4RFO&,:$RC&A?Bc M(R )B4A& D$8X# >-RPF@4BC0QO(9:$ POF5S\Ca M;(4/,@N!*>F 2DVRP&48V]I6NI6V=VD0!3#(5Z5(J4GAA?*3// =^WJYMF#Rz MRG"DG&4MQ<,"FMD,9S CG0(.=[<1_HPLRW+#&U*9@A,.K6A-V]TG=74'.?BKy M#*E$G@F+23XSL(">N5,G'83YK?"!4I_FP^X"8UN23*1G(IB[5T$s MJM!=:5:VG-KH 1,H+(E*+[:XS:W[:F@"7?D!EXX+KG#[1S6653:Y=\MH/\5%r M6]Z!R7<%T]=TQ[576_45!*S4GBN7"9CJKM,W4(HG1TUH D:Q( 8JS)]AO'50q M]PU46!XC@WJ'-T_=-I %]>.>%OBY7?,>*IDKR6Z[(&=@\P63OO5EKLH\NMB-p M)4"^98 P/CNJJX^&-&2()6)J&0N8N@$&P_1M*&\CZM_?5DJZ!FY!"[H6&*B$o M80SW?8-=T(>E[7;W#'T-K_T.Z[K$HH!1(# !"(;0A"!,80ES0W&(AQ0P%2/)n M24IFLI.AK*B,OFQKP,7MAOUG-:Q9-LSM@7'X&HS@8!JLO'J%[#15"5[ZB7>7m M#^N33:7:E)QN2"0\-4F(3#*2&M" )"?RX@QJ$ -&)Q4G.N$)GR=-Z4I;VD%4l MM2HI1U1J+6QIBULG@[/>i M@F4N$*!K7NIJ79%+"KLCQC1D_/(7P))-L#<[#00+DQI@.-PR*5@LER%4;KD'h M)JS]](<^64 S:TG)MRWXS7R"(UQFE8L6BA>(M& 6=W W_B5=$6BT(A=S^,2Wg M&%WUB=>^+@,+:$ZPK?3[6H5C^5UXF'-NFGB[/!?6&#QV**#_FM9P*AT/$DS?f MBK+-B.J;G@J9/H+26:RJ4V88A;_,IP$:\T/e M0A>W1._X%_CCGY"/G9LD'YC)_Q:XP6V%4DI'7',7U[B81S[P-HM:N=(_7Y6>@Y+JHV?A?3OZE>7[GK1=6G\1U?+C7'O4"a MYW4%%W9Q-WT^9 9 =#;>(H!@QWLO5B=0)SF4 W:78SV:@P*&37!E/KTSH&1'%UUDKXHS^XEX3:!T "1$#Z8D .53P,Y&()x M $$2]&X5A(4CM3:DTD&:Y7*C]7XS%W]GD7GTYWW1Y2VL1WS[%WO^!R8 V'4Mw MI7MN0X#2AS0]5"ET02J/45,5^(D)D6EOA%6DT6E="ANP * F 9DT$[OI&Z]URIN< 8\s M 0=FEU?B\F/?A0(>5E@R UBN1&2H95*J18_CXEF1Y5VVA%RZ]'ANN#2=98^Vr MY'X)Z2VGE8>+)7RR)8\R6!6"Q"JPM9"?99#4U'?8%)'*99-Ip M$$XY>4G0ATX_J#<.24U"UH\&-23LY$Z"M%]_TEYH\%XJU&"Z$@,;0R;IJ)5Eo ML"V?8F(89E#%R"73J(S"(HW(J(P;,U>ZY5#;(G5HP% [AP+;8F!&IRL\Z#VPn M=#YH@')\I;'2(US"9=Uj M66T)@)?NHY=.HBO>J&]L Y@K()CE0IC:(V K(S-$J)B,63H2>1>1"2U3J4J6i MB9F:R9GT]9GJ.9KW9)(E:E_ZI$+&N5L*M%SUQ)KTB9;V66(/: :$H6>%"(H_h M@8A6%&@B,6B$MF@K0E2*9@,WX"$7$1,SL(DZVJ1.^J1G)(I7%4>$$9J"-"3]g M0@>)B21*L@(NT%5\TSP@("8>TP9R9$?L%D'NMBP@P$=RD .X@1O8 =$@@-40FJWF$BMIHN.I%9HPFJYR .O5A"]*&ML C.V1B=?D6LWd MVG9!YU=\XU=CN"A%2&RUFBH#HRC45E?N@BF: FV?)&UV=2A_(GFWTGN=0G3Gc M]BMI<)W9D@8\\&]Y,@75NBVM SFD8CY6;ZDG#_4DD,EUT' T,0QS S1'$(F7%I2!Y\(WB$!W+UQUG^5'(G!X(IIY"1z M9X:5Q[$L!WXWQQ\C6W[X)X>T^FMU>'3L$WEH(7?*=7_B GJOET?\5ZNS=WK$y MF7L#Z(#*]7OP%'PSVW*N9WRU"G=]͔W[.D9[>#\G^W![N-W5Y%'M'*[BI!YV_M+0G&'E.BW9I>Q:6[F=6P8D%#3G5(#1s M6[HB8[%0@WTNI[H:P[H=Z[IWZQYFX+E[!J42P:. IH@_RH@DTHA$JB(S8*0Vr M0!.8"$9,ZL @',(BW".]\2-5-8IQ!$K[B1IRV:F&I!ZFBFJC&FO7Z+G?!3H+q M_"Y^=0=H",03'2!5B\ 9:6DH]W*9H"CI5L91G@8R+<1B!JAKPo MTQW;54KC292J=+"7E7H&14H\[,-V.%09ZEOADJ&329ZK9&=#YL?T%9(&9F%2n M['-*9,0@=L>!+!D@.+@0UL1,<"QM,#FZHI1,24Y^A4(@X)X05F-X^BZ'T0;Lm MD\5:Z/>3H6Z'(_SJ&'P^4DMk M("V&LA48:6',ZTST]71/-\E.;,,W*4ZF7'R5K,.@V<.$$9;KW#O=VP=MZH31j ME,= =I "FTV./''R6DDZN3'X3,HXV<]%#-"RC%',EH#,JBG,_X^TUNS,\Z>R#)JU?!:Wh M#!BYO,O7W,L ]PPBFXP@9I4*=_*M6T!"M^]8MC8*>'HJ5A<"C^f M DK(6'QNP 9PVBAVQ*8E@"MP# (E4%,\D01TL$U0@3!N($Z'XM:?A(QPRL9:e M>A;)N$?NI#ETD ?C@2MS4 =(EC"0;4*0_09[_2\N,-F'TBBX$MJ6#6IV@(S(d M,E/^_)MF[!MQ4 =I(-7P&-JDP3MI8&RZ\R6^\D]ND!AR0 =E 8]B4!:. J>Cc M+0:',0>[S:F!(UH?!9O( 9Jb M4 :!=-=O< :)V@:U#0)3L"5GH2IN\-GAHMO<,:;9-AG63=?671AXVJ>:_9OXa MNQBC?1CJ?=>&N)P/0=^Y2AG0-=Bz M0BC-5JR@M*O-4RB?I (T;N-'O&S40:S/!IK U2EKX%=R@&R]S0:;Q!/#1F&UPSJT;HSL#419ZFKV5<@?L6"ES,*-ESJ9PKJXGT.9)IF1H?ET0w MEP-UG@""/I;7 A6"[B2)_LN+3C@;4^BP^8 /FZ4+-P?E>AN>.PC;HDP)K$"MC*NM\;MW)6 :?@NH / >L/M,J8.N[^C9OD^2#!*Z,LR'#D^:HRM5SJVS'K&U/@:Z#NJHt MZ4\HX.KLM,U!^\XAW0)6G@)47#K('$P!;>;M+F/P3.MR@ (G '$JVNM^#NR5s MB+KPK]15R4.-CKEG??N9Q#G%Lr M7N>0\^B^.>>3/O'HD^?B/WF^=WNC<@2L(=@*2q M+LZ5GLJ7#IK.3O+PWNDJI.ZB3NBD+K&FGEGC+.4 O.HZT.JO'NNP6>XO3X2.p M@NOISNLS?_#!CA:I3NQ;;^S(CBHJH.RK4J_TU>S/?NT;..T@4.W0OH'OO.W"o MXNT[#^ZO#@?D[O)XCN[9 O4+QN[NKO3$@,Y@ ,XH R]LO1CP;6C_TG/"3 _Q+A3P/A;P.Ik M?/XYH #/W__^__S\+^ZE,AGP7E1"_U-_,F8 OA:%9%$#;>W5O[U'(/2C'h M[.:>L],5?4_:[2IJ9^TT4.CX>_3%R@4^"_/MCDSA.WP/3_'MNE#7^/1&NTM/g M\(YMR#O;4?G@R^73=R.OW[6 ?T?Q!![!LS &;_0E/+1@^MI>ZEM]G<_U@3I=f .EP?_7/,[A(@P$2I"* *Oe d end --------------------------------end-----------------------------------------