V61%DHDURZ1.BITNET@cunyvm.cuny.edu (Ronald Lamprecht) (06/27/89)
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</&!1H "!,J7,BPH<.'$"-*G(@0AD4;-&B HP8&SM:G!%2z M9,<:,VZ @)%Q!HP8-%C*J+$2A@T8-60 +&1HL^?0(,*'4JTJ-&C2),J7<H4y MX@L5((R\D0,BX$ V*&:DX*GBA0(%(\B4,9/&31F>:(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@<Aq M"VV\(58*"I1%!T\0[J# &&B$094*@8JEZ!X*)$#8&6F(>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)<C2,<L0KZRI%k M$4'D_&81.R3@[=%)ZTM7&'6P08?#@!$&+PKRBJI""O7>FV\"?7RU-$_@B@M"j MI,S&\&P/NIZPP@F$WFUX52E+;#41_.FL;]YL5P6'L&U7N_>JK8XA[AQIZ%'&i M&V:,2VT*I.<J+;7<P6WOE>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(<RC=R8$P8Z #:M!2I2MU1TMNX)*7SA*Fb M,97I3'528I?F@ 9@B8=01BQ3J11 J6\-! 2ZXUW(( <"08HI>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^<Q]PF"3GY+/,8$J.\VAD\$4H4Gx MNL)G S<VQ/(,=&YU&R9"<5=#EGVA"%*0 @9]2404%.$)KLR6 C)*TB+.*W:Kw M2^(9WC4&)ZZQ1AG*R!0]9$458=$C-HB!#+C8HB_>X"8UN<F*R'C3ICKUJ5"-v MZD/:"((@#:E(1TK2DEC0I"=%:9 \*226P+*E+GVID60R$QK0%,F9_HN<=GJIu M"C0YJ6%^DE&C]*<T4Y9*%HCKHRA=&;% *H5U:9.9&A3725/Z.'_*LC"TY*LMt M07!#$!9AEP7=)C?; [G'GE*RU*0LXZ20S=89KJ**16F^-ML>23*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 MM2H<!Z-5)CE)CE^=4EBM-%9$*O*L8DHK)$UM5D9:A2"0#!!/VK0U.6FH3D8<k M3AU1X(8P[!%0 R,4CU70ZSV"P*\"DQ0G*W6I3 F2*IU*PZ=RO4F1->I1U<L<j MK&3UR3_U"GX+O2UG/]DGOA6P,< 2UN^(92QD*8M9SH+6Z>1J+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<PWRZ4W&*:$JPTN\7R^ZV(+G>@J9/H+26:RJ4V88A;_,IP$:\T/e M0A>W1._X%_CCGY"/G9LD'YC)_Q:XP6V%4DI'7',7U[B81S[P-H</S@]_N*=#d M+NIL)X_5WUY'OFE])>M:N=(_7Y6>@Y+JHV<!UB^[E:TC/=]3_CJ]D=ATUI;]c M[!!*.\O7#H*?NWWHI0]V[PWW=&^6T)PI-!H+E7:WN<=0XC0D,V7-G$/.&P[Sb M[M%\X9=_M\2+9?$H=[SJAZ_]E_]=X\FO>?A?3OZE>7[GK1=6G\1U?+C7'O4"a MYW4%%W9Q-WT^9 9 =#;>(H!@QWLO5B=0)SF4 W:78SV:@P*<XSF@(SKS0CI;z M 3CBTH"K0UX,N'L'!X$&=%_A1D/#Y7K&PX(2ABO+DSC.(SP-)"S9=CT@$&#=y M\SW#Y$\&=(,@>&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<FE(X6<[546"]E,P( ,R< .(UD4QX!(ST&@@v M<1$X<0-,98B<V(F>^(D)D6EOA%6DT6E<Y210(B79,D=U=$=4MT=W-16 )$BBu M)E:'5%:+!":I]DAK]15E@ ?/-B2=$C!?D#O+$@9N4 <<M&T*\(O!R"F?9(Q(t MDXQPP(P*((AOY5[")6Q%B%=QY39TM6R>="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"<I5LJ:%O*966]U6(.Y)&SI5O$95S/q M97G!-6:35W$7AX:;Y7S@1![CI$GEA)$G9)%WD5'0%&>?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@')<X :$PTL)T!XFH&0$.6<L, 548'%.< 13L$L&E0!8"0+JN)4;UE]9m M:$^":6$DR6*E:6%F&9IIN0(;8V)J)BZMB98*MEUND$S7<I@-%BT@X :WB9MVl M^&#M$F$<I7WY:&%2MF JB9P5AH?P,F(JY'D@J4\]\#L/.' 6E9A9UF1/1H;7k M*)5R!EJJ5)6D<Y7"XII<R5[N!5\,59W6-99EB8ZNJ9;9V9;>\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 <G<Q>.<A9K4 8(f M! )D4 =G00=O($<@ =R(!YFMRI5$:AF:@1R@(RXT@1E4#;DT3%OX#.X8J-Oe M8*8>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 SFD8CY<N*;PU@4*V2YR1Z,%UJ#^EBZM4X)[b M6)' LT24!#0<9"JM GPM*$R&4T,+%(-)!@+'E7<8%R=*Y@<MN7<%"Y$("[!&a M>6;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<Z\(3:M[$Q,S,UXW<N"7AJ"+(?x M5Q]1BS<EJW@GVW@J!WE*Q[(PY[+PY[$<QX:;][-P6+-3>[.D9[>#\G^W![<Lw M%X>N-W5Y%'M'*[BI!YV_M+0G&'E.BW9I>Q<V*WK]IX8^N5G-US/?9$(HA$X[v M-'TNE+77E['MQWU@YC5UZP8?B[?CAY)H87Y]PW@0IWZ$JUQR2Y.R!;.:)[.Ru MRQ- &SF72V69"[A%-YSDI9UZ2"\G.+I^&#)C4S8*J+0B*#=KB8(H&I^V!8/Kt M53QD4(/'234S&#'BRZ)8:(-:Z'5CV&4*0 :;*UO%2X>: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<!@$\XUZ$H[N"(\X;!AT(*R=\D^B5"E## +.-S=-C)'"T@(QP 2Cp MU)Q44UP BX^+)5CY.#>",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<EG<0=O+!EVW"Y2O +2,L1;<5\M *?K$< 2C?:=<?WY0.HEZ%2C& HP,M*l M/!#T!9E*)L7]ULPZ=@9;8<@@\,O6_([9G)>\5:Z/>3<K>H6Z'(_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<H,,FZ0L7X @(_L,T@i ML;5(Y[Z:K$SB#!B>#,JBG,_X^TUNS,\Z><I#D\HJ.AUB\6RP;!>R#)JU?!:Wh M#!BYO,O7W,L ]<O!',H6[4X#,0<-/,(+ <$=(L$@PH@R\!(F(HF5:*1"E50Sg M40,?;-5HG=9J[1"" :B&,@>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:<S,P5#D 1)L,-HD 9(-@=AD!BX$@-+ )BD >F!(UH?!9O( 9Jb M4 :!=-=O< :)V@:U#0)3L"5GH2IN\-GAHMO<,:;9-AG63=?671AXVJ>:_9OXa MNQBC?1CJ?=>&<MU^%=IPBCF341F<30=4;=DPC(LRK&JK>N)P/0=^Y2AG0-=Bz M0BC-5JR@M*O-4RB?I (T;N-'O&S40:S/!IK U2EKX%=R@&R]S0:;Q!/#1F<Jy M <QX%=C\$P@\.0S#2P_CAXF$.3.!EP\[,;BH@*XXILGP 4P\+91&3!IKBL0x M5P)NCM2#>&UPSJT;HSL#419ZFKV5<@?L6"ES,*-ESJ9PKJXGT.9)IF1H?ET0w MEP-UG@""/I;7 A6"[B2)_LN+3C@;4^BP^8 /FZ4+-P?E>A</=P)CT# )L ;"v MH@)<KI9_>N>.PC;HDP)K$"MC*NM\;MW)6 :?@NH / >L/M,J8.N[^C9<KJ)<u M#@+GG(&?$SK#MA4O,*:=$^U>OD^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 M<A?3&T0) < +_!TKNL.;^X!C^9Z+MV^_N>B+KPK]15R4.-CKEG??N9Q#G%Lr M7N>0\^B^.>>3/O'HD^?<LN<ZEO$(3\R!/NC[8NCIC>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<G.TI,._U?N]&EV#[CNAKX.]@C^<#n M[^F/?/:_GO8\L?!GT_ /?P(1GRV(7^L6'_,8C_:[J%:Y0R9*I-98[1%:?44]m MU1$T0"(7C!(V( -!51,WX(@V<-9KO?S,+\)Q#Q6S;Q!?\!%AD !4@ 9U$!5El M( 8@( -&XH@Z( ,XH ,>$@,Y@ ,XH R]LO1CP;6C_TG/"3 _Q+A3P/A;P.Ik M?/XYH #/W__^__S\+^ZE,AGP7E1"_U-_,F8 OA<CL?Y:@&;!#,L!!$BA :(]j MVL,,0! \ 0*R!YLA!: 9N(+: $C/$ U81<Z5!+(3.H"+0B5].<D-*!=4%AQi M@B?,!!N@ %H@"3P+#<M5,1H,&*= @)8P W9D+$2%>:%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-----------------------------------------
culberts@hpccc.HP.COM (Bruce Culbertson) (07/21/89)
I think there are some incompatibilities between the recently posted buffered I/O library routines and the ones I have used on BSD and System V Unix. In my experience, buffered files are flushed 1) when their buffers fill, 2) when explicitly flushed with a call to fflush(), 3) when the file is closed, 4) when the process calls exit(), and 5) if stdin is read, stdout is flushed. Unfortunately, I cannot seem to find a description of this in my Unix documentation. Perhaps someone else will find the documentation and comment. The new routines differ in the following ways: A) Stdout is not flushed when stdin is read. B) Stdout is flushed on all (f)printf's to stdout. C) Stdout is flushed after all newlines are written to stdout. Problem A breaks several applications which perform fine on various Unix systems. The problem is not apparent if prompts for interactive input are written with (f)printf because of B. However, if a prompt is written with (f)putc or fwrite, it never appears. B and C are merely performance issues, but perhaps are worth considering since stdio exists solely to improve performance. After implementing 5, I had no further trouble with the new routines. Having the "+" options in fopen is a nice improvement. ------------------------------------------------------------------ /* 17 Jun 89 r+,w+,a+ added RAL */ #include <stdio.h> fgetc(iop) FILE *iop; { int ch; if ( testflag(iop, (_EOF | _ERR ))) return (EOF); if (iop == stdin && stdout->_count > 0) fflush (stdout); if ( !testflag(iop, READMODE) ) { if (!testflag(iop, RDWRMODE)) return (EOF); fflush(iop); iop->_count = 0; iop->_ptr = iop->_buf; iop->_flags &= ~WRITEMODE; iop->_flags |= READMODE; } if (iop->_count <= 0){ if ( testflag(iop, UNBUFF) ) iop->_count = read(iop->_fd,&ch,1); else iop->_count = read(iop->_fd,iop->_buf,BUFSIZ); if (iop->_count <= 0){ if (iop->_count == 0) iop->_flags |= _EOF; else iop->_flags |= _ERR; return (EOF); } else iop->_ptr = iop->_buf; } iop->_count--; /* account one char */ if (testflag(iop,UNBUFF)) return (ch & CMASK); else return (*iop->_ptr++ & CMASK); }
AJB@dlvh.daresbury.ac.uk (10/23/90)
I noticed in patching BISON for GNUC on the ST that the following code segment doesn't work on either the ACK or GNUC (or PC?) compilers. FILE *fp; char line[10]; fp = fopen("anyfile","w+"); fprintf(fp,"Hello\nWorld\n"); rewind(fp); fgets(line,10,fp); printf("%s",line); You definitely end up with a file containing the requisite text but the rewind doesn't work (which is not surprising looking at fopen.c) hence no 'Hello' is printed. To get bison to work I had to fclose(fp) and fopen() with "r" in place of the rewind(). BEWARE! the man pages I have says 'w+' is a valid option. Alan Bleasby SERC Daresbury Laboratory Daresbury Warrington UK Email: AJB@UK.AC.DARESBURY.DLVH
cechew@bruce.cs.monash.OZ.AU (Earl Chew) (10/25/90)
In <34240@nigel.ee.udel.edu> AJB@dlvh.daresbury.ac.uk writes: >BEWARE! the man pages I have says 'w+' is a valid option. Use estdio. Earl -- Earl Chew, Dept of Computer Science, Monash University, Australia 3168 EMAIL: cechew@bruce.cs.monash.edu.au PHONE: 03 5655447 FAX: 03 5655146 ----------------------------------------------------------------------
eesrajm@cc.brunel.ac.uk (Andrew J Michael) (03/17/91)
Would one of the POSIX police please let me know what the current state of thinking is with regard to the access mods for fopen() ? I am particularly interested in the use of the 'b' flag. This is obviously meaningless to MINIX/UNIX, but what should be done with it ? Should it be silently ignored, or flagged as an error ? Andy Michael -- Andy Michael "You might think that. I 85 Hawthorne Crescent couldn't possibly comment." West Drayton - `House of Cards' Middlesex email: eesrajm@brunel.ac.uk UB7 9PA or Andrew.Michael@brunel.ac.uk
waltje@uwalt.nl.mugnet.org (Fred 'The Rebel' van Kempen) (03/22/91)
eesrajm@cc.brunel.ac.uk (Andrew J Michael) wrote: > > Would one of the POSIX police please let me know what the current state of > thinking is with regard to the access mods for fopen() ? I am just a programmer, but: Estdio(3) does it correctly. Use it, and Be Happy :-) > I am particularly interested in the use of the 'b' flag. This is obviously > meaningless to MINIX/UNIX, but what should be done with it ? Should it > be silently ignored, or flagged as an error ? It means "binary open" (as you probably know), and it mainly causes the stdio functions to: - not treat byte 0xFF as EOF ( == -1 !) - not perform any data conversion Again, Estdio does the job well... Fred. -- MicroWalt Corporation, for MINIX Development waltje@uwalt.nl.mugnet.org Tel (+31) 252 230 205, Hoefbladhof 27, 2215 DV VOORHOUT, The Netherlands