bug SOLVED!

Jake Hamby jehamby at
Fri Jul 17 19:33:11 PDT 1998

On Fri, 17 Jul 1998, Jake Hamby wrote:

> Anyway, here's the patch.  I'm still having problems with the Bean,
> ReflectInvoke, and GCTest regression tests, but the others work now.
> Enjoy!

Oops, I just realized that my patch has a bug.  Instead of:

+         int cur = lseek(fd, 0, SEEK_SET);
+         nr = lseek(fd, 0, SEEK_END);
+         lseek(fd, cur, SEEK_SET); 
+	  return nr;

you need to:

	return nr - cur;

But I also thought of an optimization.  Since fstat() returns the file
size, you don't need the last two seeks at all.  Simply do this:

	int cur = lseek(fd, 0, SEEK_SET);
	return buf.st_size - cur;

I haven't tested either of these changes, and obviously it'd be a good
idea to use a better test program that reads some bytes from the file then
calls available() again.  Please let me know how it works out.


More information about the kaffe mailing list