(fhandler_base::lseek): Include high order bits in return.

Brian Ford ford@vss.fsi.com
Mon Nov 17 21:29:00 GMT 2003


This bug fix got our app past its first problem with > 2 Gig files, but
then it tripped over ftello.  I'm still trying to figure that one out.

It looks like it got a 32 bit sign extended value somewhere.  Any help would
be appreciated.  Thanks.

2003-11-17  Brian Ford  <ford@vss.fsi.com>

	* fhandler.cc (fhandler_base::lseek): Include high order offset
	bits in return value.

-- 
Brian Ford
Senior Realtime Software Engineer
VITAL - Visual Simulation Systems
FlightSafety International
Phone: 314-551-8460
Fax:   314-551-8444
-------------- next part --------------
Index: fhandler.cc
===================================================================
RCS file: /cvs/src/src/winsup/cygwin/fhandler.cc,v
retrieving revision 1.161
diff -u -p -r1.161 fhandler.cc
--- fhandler.cc	25 Oct 2003 12:32:56 -0000	1.161
+++ fhandler.cc	17 Nov 2003 20:54:34 -0000
@@ -874,6 +874,9 @@ fhandler_base::lseek (_off64_t offset, i
     }
   else
     {
+      if (poff_high)
+	res += (_off64_t) *poff_high << 32;
+
       /* When next we write(), we will check to see if *this* seek went beyond
 	 the end of the file, and back-seek and fill with zeros if so - DJ */
       set_did_lseek ();


More information about the Cygwin-patches mailing list