WPCn 1~85S^!.Afrl {n{2|dO1zK {6Xum:xB"Xċ\yЋLjU[wҙYKT;57pZJadV9]ZH;>XnLr("}M_RoRRq͵=$oD,m1\S2 Z]Jl)u0|sQګu㰏0 YIq!JX`msPdBgL3U[?l<吕ٝދ# U&d^ RꐏDv  "&`˫kAo%qD&rҼ\`[N݃NZ5V lUV{(toȇ10vdl90ȦzoYZoZpWxe_NYiа)\& :zv&/U7/u~?caѠZe# %U: 0*#! z% 0T J    b N(^ *B6w@x4 m 0e  1 72] 1u 72 0c6 1 72 R 1a 72UT""Arial Regular($XXXXUSUS.,$X,X$      =dd=HP OfficeJet Pro 1170C Series0(,,,,0(0C:\COREL\WORDPE~1\TEMPLATE\CUSTOM~1\CUSTOM~1\ANSIJ3~2.WPTC:\Corel\WordPerfect Office 2000\Template\Custom WP Templates\Custom WP Templates\ANSI J3 Unresolved Issues.wpt  'USUS.,$X,X$   __@(# J3/01209  X NCITS/J3ANSIFortranStandardsCommittee>(#CraigT.Dedo 0 Issue127End-of-FileinFormattedStreamFiles?(#May20,2001 P (#Page  1  ڀof  2  (3$ !XXUSUS.,$X,X$      =dd=  ݁Level 1Level 2Level 3Level 4Level 5Level 1Level 2Level 3Level 4Level 5Level 1Level 2Level 3Level 4Level 5Level 1Level 2Level 3Level 4Level 5Level 1Level 2Level 3Level 4Level 56*Issue 127 - End-of-File in Formatted Stream Files  ( ' $Craig T. Dedo$0Craig T. Dedop17130 W. Burleigh Place Brookfield, WI 53005-2759 00-3nn .    3 2 gDhiDjkDlmDnoEpDs&J3U )USUS.,$X,X$   __.B2E:\ANSI_J3\157\01-209.wpdBE:\ANSI_J3\157\01-209.wpd/  (3$ !XXUSUS.,$X,X$      =dd=   (5hCEKQW]cioAutoList11.1.1.1.1.1.1.1.1.##37=CIQYag1.a.i.(1)(a)(i)1)a)i)(;3$2#  0  .3  0  (EhCEKQW]cioAutoList21.1.1.1.1.1.1.1.1.3|xp(CEKQW]cioAutoList3A.A.A.A.A.A.A.A. A./ Z<Century Schoolbook Regular !XXUSUS.,$X,X$      =dd=  _@pp Issue127End-of-FileinFormattedStreamFiles   To:0  0(#(#04(#(#J34(#4(# From:0  04(#(#CraigDedoh 4(#4(# Date:0  04(#(#May20,20010 4(#4(# Subject:0 4 Issue127End-of-FileinFormattedStreamFiles P4(#4(#  b (5h8#bIssue      Theeditorwrites:Imnotconvincedthatendoffileconditionsarefullycoveredforformattedstreams.Notethatthereisno_endfile_Ԁrecordinaformattedstream(andIdoubtwewanttheretobeone).Astrictreadingofthe2ndsentenceof9.2.3.2wouldtellmethatitdidntapplybecausethe_endfile_Ԁwasnta   resultofreadingan_endfile_Ԁrecord,butthatssubtle.Idsuggestexplicitlyaddingsomethingaboutsequential;_didnt_Ԁdothatmyselfincasesomeonethinksthatthisshouldapply.Whathappenswhenreadingapartialrecordattheendofafile?Wesaythattheremaybepartialrecords,butIdontseewhereweeversaywhattheeffectsofsuchathing_are_.Ifthereisapartialrecordattheendofafile,isitpossibletopositionafteritsothatitisthepreviousrecord?Should,perhaps,reading_pastthe_ԀendofapartialrecordbeanerrorinsteadofanEOForEORcondition?Doespaddingapplytopartialrecords?Someofthesequestionsareprobablybestansweredelsewherethanin9.2.3.2,butIlllumpthemallintooneJ3note. Analysis  D   Thisanalysismakesuseoftheideasdevelopedinpaper01-208, DesignConsiderationsforStreamI/O.  ItappearsthattheexistingnormativetextoftheFortran2000draftalreadyanswersthesequestions.Itmaybeappropriatetoaddsomenotesinsomeplacesinordertomaketheexistingtextclear.  Followingisaseparateanalysisofeachquestioninthisissue.b (88b Q1.0  Whathappenswhenreadingan_endfile_ԀrecordwhileusingformattedsteamI/O?  p (#(# A1.  Thesecondsentenceofthecurrentversionof9.2.3.2startsoutwith, Forsequentialaccess !" oninput,_..._.Apparently,thesentencethatthefirstparagraphofthisissuereferstoisnowthethirdsentenceofthissection,whichstarts_with,_Ԁ Otherwise,....Fromthecontextoftheentiresection9.2.3.2,itisclearthatthesecondandthirdparagraphs[169:34-37]applyonlytosequentialaccessoninput.Thesectionthengoesoninsubsequentparagraphstodiscusssequentialaccessonoutput,directaccess,andstreamaccess,inthatorder.Thus,thissentence[169:35-36]referstosequentialaccessoninputanddoesnotapplytoformattedstreaminput.Therulesforfilepositioninginstreamaccessarein[1]65]^70^:[43-44[\1-2\].  Bydefinition,an_endfile_Ԁrecordisimmediatelyafterthelastdatarecordofthefile.Thus,itisaftertheterminalpointofafile,whetherthatfileisconnectedforsequentialorstreamaccess.Thus,aprogramwhichreadsafilethatisopenedforformattedstreamaccesswillneverreachthe_endfile_Ԁrecord;itwillreachtheterminalpointandgenerateanEOFconditionbeforeiteverreachesthe_endfile_Ԁrecord.  ,%0  & $   Q2.0  Whathappenswhenreadingapartialrecordattheendofafile? (#(# A2.  Readingapartialrecordhasthesameeffectasreadingacompleterecord.Theonly <  '$differencebetweenapartialrecordandacompleterecordisthatthepartialrecorddoesnothaveanendofrecordmarkerafterit. Q3.  Ifthereisapartialrecordattheendofafile,isitpossibletopositionafteritso \  thatitisthepreviousrecord?Should,perhaps,_reading_ԀbeyondtheendofapartialrecordbeanerrorinsteadofanEOForEORcondition?   L A3.  Yes,itispossibletopositionafterapartialrecordattheendofafile.Section9.2.3, File   position,states[169:18-19], Forafileconnectedforstreamaccess,thefilepositioniseitherbetweentwofilestorageunits,attheinitialpointofthefile,attheterminalpointofthefile,orisundefined.Earlier[169:4-5],itstates, Theterminalpointisthepositionjustafterthelastrecordorfilestorageunit.  Ifaprogramreadsbeyondtheendofapartialrecord,theusualrulesforreadingbeyondtheendofrecordorendoffileapply(9.5.3)[18e3ef6f:g23gh40h-i33ij187:6j].Thecurrentlanguageiswithoutqualification;_it_Ԁdoesnotdistinguishbetweenfullandpartialrecords. Q4.0  Doespaddingapplytopartialrecords? X(#(# A4.  Paddingappliestopartialrecordsjustasitappliestofullrecords,forthesamereasons. D  Edits  | _[1k66kl70l:2m4mn6n-3o7op9p]_0 ` DeletetheJ3note.h4(#4(#  References   01-007r1,Fortran2000Draft01-191,ChangestoListofUnresolvedIssues01-192,OpenUnresolvedIssues01-208,DesignConsiderationsforStreamI/O01-210,Issue128EmptyIncompleteRecord[EndofJ3/01-209]