edwards@tisle.uucp (Colten Edwards) (06/14/91)
In the recently posted format program, a couple of small things are needed to be patched. I run estdio v2.1 so streams are not automtically flushed. Therefore either a \n or a fflush(stdout) is needed to print the message Are you sure.. Also, probably because of a small bug in bcc/386, a couple of extra brackets are needed in order to select the right media count (??). Otherwise a disk of size 34k is created in place of a 1.2m disk. Anyways here follows a small patch ... I hope I diffed the programs in the right order. (diff -c oldfile newfile) Colten Edwards ------------------------cut here ------------------------ *** format.c Thu Jun 13 22:24:29 1991 --- format.new.c Thu Jun 13 22:21:44 1991 *************** *** 218,224 **** * usize 1200 . . 2 . * usize 1440 . . . 7 */ ! int dtype_map[4][4] = {1, 3, 5, 3, -1, 4, 6, 4, -1, -1, 2, -1, -1, -1, -1, 7}; char *progname, *nname; int interrupt = FALSE; /* If sigint or sigquit occurs */ --- 218,227 ---- * usize 1200 . . 2 . * usize 1440 . . . 7 */ ! int dtype_map[4][4] = { 1, 3, 5, 3, ! -1, 4, 6, 4, ! -1, -1, 2, -1, ! -1, -1, -1, 7}; char *progname, *nname; int interrupt = FALSE; /* If sigint or sigquit occurs */ *************** *** 452,460 **** non_boot[0x0D] = sec_cluster[dtype]; /* sec/cluster */ non_boot[0x11] = dir_size[dtype]; non_boot[0x13] = ! (unsigned char) (msize * (BLOCK_SIZE / SEC_SIZE)) % 256; ! non_boot[0x14] = ! (unsigned char) (msize * (BLOCK_SIZE / SEC_SIZE)) / 256; non_boot[0x15] = media_id[dtype]; /* media id. */ non_boot[0x16] = sec_fat[dtype]; /* sec/fat */ non_boot[0x18] = sector_table[dtype]; /* sec/cyl */ --- 455,463 ---- non_boot[0x0D] = sec_cluster[dtype]; /* sec/cluster */ non_boot[0x11] = dir_size[dtype]; non_boot[0x13] = ! (unsigned char) ((msize * (BLOCK_SIZE / SEC_SIZE)) % 256); ! non_boot[0x14] = ! (unsigned char) ((msize * (BLOCK_SIZE / SEC_SIZE)) / 256); non_boot[0x15] = media_id[dtype]; /* media id. */ non_boot[0x16] = sec_fat[dtype]; /* sec/fat */ non_boot[0x18] = sector_table[dtype]; /* sec/cyl */ *************** *** 855,860 **** --- 858,864 ---- if (interactive || !q_flag) { printf("Are you sure (y/n) ? "); + fflush(stdout); fgets(answer, 3, stdin); if (answer[0] != 'y') { unlink(nname); *************** *** 878,883 **** --- 882,888 ---- if (interactive || !q_flag) { printf("\nAnother %s%d Kb on drive %d (y/n) ? ", dos_type ?
Don Chapman <DCHAPMAN@utkvx.utk.edu> (06/16/91)
In <910613137@tisle.uucp> Colten Edwards writes: >In the recently posted format program, a couple of small >things are needed to be patched. I run estdio v2.1 so >streams are not automtically flushed. Therefore either >a \n or a fflush(stdout) is needed to print the message >Are you sure.. Also, probably because of a small bug in >bcc/386, a couple of extra brackets are needed in order I have compiled format with 16 bit bcc but do not have the 32 bit version here. I also don't use estdio v2.1. Thanks for broadening the test base. I believe the suggested patches make it more transportable among the many compilers and libraries that are in use. There are a few other places where fflush() might be advisable. The complete patches are below. (use uud, uncompress, patch) The patches are relative to the format.c that Andy put on the net on 6 Jun 91. and should give crc of: 44571 25969 format.c Hopefully the new ANSI standard compiler and library will become available soon. (Where do I send an order? :-) Don Chapman <dchapman@utkvx.utk.edu || BF14@UTMarTN.bitnet> table !"#$%&'()*+,-./0123456789:;<=>? @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ begin 644 format.cd.Z M'YV-*@*">%%GCIP7=F+8>#'F39LV8=R0>>&FS)T79M[(@4C'Q1@0(,;(&=,Cz M1@P<-&: E%$#APT8"8S(20-"21TW(&^ D"%#!XP9.DZ"B)$C1PP%+9*"R+@Qy M3,>/(4?VH$&CQHT8*VODL)$CP12G-6\.K;$3AD\<.F3D&%KT:,"W<..J4/ 6x MQ(RK+.[: $7J=*[,?+>T)DTJ0*0(/L<1MP&1 \0-%L,W;$8))R9;NB802&"w MBYLK:-*,00."S!L0>=[4 7$GS1S2=$XSY0@"A9LZ;<24D9/B!P@1*2BO0&S&v M#)N":%#,H6.Z#IW@E9>>*4-G#HK1;T2780&"!O?E9-*X@8X8!,['3K-?1Y-]u M3!GRB-.8J8V3QU 0?/B8!^$#1)L4()2!1QITH% $%DE0\841023!1!52% &=t M7!0&1)= ,^ 0UXXK-5787;A$-@,.<@ 0F$M+); "RJ 0(4<>8 06VG4[=:&s M>&7(B$:.9,QD1XYTY %'CBJ\H.)EXFG&&16AS0&9DQ&!$(9S#CDE6FD^EN&"r M9\!1!E("2&:VF0A&:$0;>W?X%U&,2XA1VPPO@7"### ,16>=,5 % X"^=:G q M< D4=]QKRC&GVG->@A#H=-6A(-X<:>BQG9S?,2<>? D4%&F.Z,66AJ-N0"HIp MIO+5E@8;;)1Q1AALH-"&J.\!N(>*8&*FI B@@>6:CCQF"0*L;\8Y)YYW#J4Go MG[]!!VB@QB%7:'.(TFH&H]8]NBEW-U0:WGB))I# JYLZ)J6GH,**J6(54GAAn MBU7)P (-<?95GAMON/&%&&^\0<<6,. ! Q%=B#M'&6-\,<:@=.RV!1E!#MG%m M#BNV./ 8#"&\&U]&SEOOO?GNVZ]) 3\6GAQ?P+IPPV4\'!V]]N*K+[]XQ#!#l MR J$H"@*-T%Z1D5DA(1&&+S5!JZD?-4F!!-/#+'$%U,DH441 X$P11%#,.VTk MA "6L%,--E!F,T@L<_SRQS30;',".(>:QLYE]#P:T "Z"FR+*!R=]-)-/QWUj MU%7GC774+'6]\L8N>QQS#2'[UW8:87R1!ADG"YDRQ"PJ'EX8D)'A L:#M]PQi MS HE/O$79C@5N<.42TPP1F 5V;G8AI\D.L&QD4Q'&&*D>OKD$?^Z^AAYL,$Yh MB%75\*X-*J'X>N$P_SM[P0<7E+ <NS_<^\052W^QZQI[/G;,,20^<LF;5I\Hg MV(1__O',CM5\<\YK\^PSW+7)'2[==BMMM=XO2$WU_G_36N"@\S7SI.][>3+;f M^]3&-K?]+&@HL!_1\(<T_?EM;__S6PH U+\!GL^ WHL=XL35AL4U[G'FZUT)e M+Y>YS7$/,6%CWL=L\#S2F8YADK->Y;!7.CIPKGNP QT.GE>[+]PN=V5(X0Y_d M%SS.I4LNZP*!#6Y@/!MHB"]O\8MDIH@#%EB1!B<J3'3"="O/!($,VSK#K^@@c MASJ,@0YUD$,9G$2$-SBI(FV;P^:2]<%2@6IZ87AC&GZ$'_W8@71L"(,:[;,Gb M$,SJ2V0<DV>*D)F+6>$-QRDA")B NS((#P4F 8%&0)"J.<P!0#K@XY\4)2AGa M@>=0F)H6=:QC!TP:L0QM@ -WB**M2W7+C[5DPRUSR:^0/>8$GCE!"FAEFB\Dz M4C?">PR#F# URCPQ+E'$00V,YY(Z?4@IVLP!"UQ"%N6!)#I^3-)N DF'0>8Hy M/R (01P0J4A9'<E68PJ"'%&CFE_%,4<HR -%D.4G0+624*]T3BRIA8*(S.$.x MN^'.#'K)+17YT:$0I1X, A:"8^9!F8ZDU4W8()XUV,8-82CAA*Z9Q;K@X 9=w MQ $.5/)-R<ATHC)=BSD5E<Y*RH&=[BQD/.=IG'J&]$NU2I(DW1 $>M%A1W( v M00GF4(*>M4F4..E14*M:&X&.!P1]8@&MRH,8T\S!B)(#ZV_J2$?7K.$W($BEu L"$3 G:%-JD=NX(UP%,6L024GH=%"JBP;A=&(VH6BYPH0&P9V5+Y&DC-<@@ZEt s end