Date: Sun, 14 Oct 2001 18:32:33 +0200 From: "Eli Zaretskii" Sender: halo1 AT zahav DOT net DOT il To: Richard Dawe Message-Id: <9003-Sun14Oct2001183232+0200-eliz@is.elta.co.il> X-Mailer: Emacs 20.6 (via feedmail 8.3.emacs20_6 I) and Blat ver 1.8.9 CC: djgpp-workers AT delorie DOT com In-reply-to: <3BC94DFF.69F35BA0@phekda.freeserve.co.uk> (message from Richard Dawe on Sun, 14 Oct 2001 09:34:07 +0100) Subject: Re: fgetpos doesn't check ftell's return code References: <3BC94DFF DOT 69F35BA0 AT phekda DOT freeserve DOT co DOT uk> Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > Date: Sun, 14 Oct 2001 09:34:07 +0100 > From: Richard Dawe > > fgetpos doesn't check the return code from ftell. Below is a patch that > fixes this. Thanks. However, the code you wrote is a bit unclean: it assumes that fpos_t is an integral scalar data type: > + int ret; > + > if (stream && pos) > { > ! ret = (fpos_t)ftell(stream); > ! if (ret != -1) Please modify it so that this knowledge is limited to the single line which was already in the old version. For example: long ret; if (stream && pos) { ret = ftell(stream); if (ret != -1L) { *pos = (fpos_t)ret; return 0; ... With this (or similar) change, it's okay to commit.