GNU Pascal Homepage - gpc - gpc-announce - gpc-de - gpc-doc
Diese Seite auf deutsch

Mail #11285

Back to main page of archive

Previous mail   Next mail   Unformatted/full headers
Overview  10 days   Subject   Date   Thread   Author  

From: Tom Schneider
Subject: EOF is not true on reset empty file
Date: 27 Jan 2005, 02:26:45

One of my programs, which I have used with many compilers in the past,
started an odd behavior as soon as I compiled with GPC.  I rooted down
to what the cause was and found this:

EOF is not true on a reset empty file.

Here is the program:

********************************************************************************
program gpcbug2005jan27(namebook, namelist, output);
(* 
  Dr. Thomas D. Schneider
  National Cancer Institute
  Laboratory of Experimental and Computational Biology
  Molecular Information Theory Group
  Frederick, Maryland  21702-1201
  toms@ncifcrf.gov
  permanent email: toms@alum.mit.edu (use only if first address fails)
  http://www.lecb.ncifcrf.gov/~toms/
*)
const
version = 1.00; (* of gpcbug2005jan27.p 2005 jan 27 *)

var
   namebook, namelist: text;

begin
  reset(namebook);
  if eof(namebook)
  then writeln(output,'eof of namebook')
  else writeln(output,'NOT eof of namebook');

  reset(namelist);
  if eof(namelist)
  then writeln(output,'eof of namelist')
  else writeln(output,'NOT eof of namelist');
end.
********************************************************************************

This is the result of running a script called mk (which displays itself):

********************************************************************************
version = 1.00 of mk 2005 Jan 27
#!/bin/tcsh -f
#(ie run the tshell on this but don't read the .cshrc or .tcshrc)

echo version = 1.00 of mk 2005 Jan 27
# 2005 Jan 27, 1.00: origin 

# show the script that does everything:
cat mk

echo -n "" > namebook
echo -n "" > namelist

echo 'file name*'
file name*

echo
echo 'wc -l name*'
wc -l name*

echo
echo 'ls -l name*'
ls -l name*

echo -------------------- compile
gpcc gpcbug2005jan27.p
echo --------------------

gpcbug2005jan27
file name*
namebook:       empty file
namelist:       empty file

wc -l name*
       0 namebook
       0 namelist
       0 total

ls -l name*
-rw-------   1 toms     delila         0 Jan 27 02:25 namebook
-rw-------   1 toms     delila         0 Jan 27 02:25 namelist
-------------------- compile
version = 1.37 of gpcc 2004 Jan 11
Using /usr/local/gpc/bin/gpc instead of the one in the path
gpc compiling gpcbug2005jan27.p
output program name: gpcbug2005jan27
gpcbug2005jan27.p exists, so we can delete gpcbug2005jan27: REMOVING gpcbug2005jan27
version = 1.00; (* of gpcbug2005jan27.p 2005 jan 27 *)
optimization:  0
---
GPC version from "gpc --version | head -1" :
gpc 20040516, based on gcc-3.3.3
GPC version from "gpc | head -1" :
GNU Pascal version 20040516, based on gcc-3.3.3.
---
ONLY STANDARD PASCAL IS ALLOWED

------
No errors
------
No warnings
------

gpcc is done
--------------------
NOT eof of namebook
NOT eof of namelist
********************************************************************************

Is this standard behavior for Pascal?  I thought that if you reset
an file, it would be at eof.  Where else could it be?

Tom

  Dr. Thomas D. Schneider
  National Cancer Institute
  Laboratory of Experimental and Computational Biology
  Molecular Information Theory Group
  Frederick, Maryland  21702-1201
  toms@ncifcrf.gov
  permanent email: toms@alum.mit.edu (use only if first address fails)
  http://www.lecb.ncifcrf.gov/~toms/

Previous mail   Next mail   Unformatted/full headers
Overview  10 days   Subject   Date   Thread   Author  


Replies

Author Subject Date
Waldek Hebisch EOF is not true on reset empty file 29 Jan 2005, 14:14:18
Waldek Hebisch EOF is not true on reset empty file 30 Jan 2005, 02:05:50

Back to main page of archive


Note: This page contains information that does not originate from the owner of this web site, but from the authors of the mails archived. The owner of this web site is not responsible for the content of such information. Any use of that infomation requires the consent of the respective author.

Where WWW addresses (URLs) in the mails archived are marked as hyperlinks, this is only for the comfort of the reader. The content of the web pages linked to like this does not necessarily reflect the opinion of the owner of this web site or of the authors of the mails archived. The owner of this web site is not responsible for the content of such web pages. Those pages are explicitly not to be considered as part of the content of this page, but merely as references.


This page was created by Crystal 0.999 (Linux 2.4.27/i686).