From 4d37689abeeaacb662c31d58038d2386a5228f8f Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 15 Jan 2001 17:17:43 +0200 Subject: Fixed test when exeeding file quota on write Sanity checks when opening MyISAM files Docs/manual.texi: Added information about Borland c++ myisam/mi_check.c: Cleanup myisam/mi_open.c: Added sanity checking myisam/myisamchk.c: Better error messages mysys/my_chsize.c: Cleanup mysys/my_seek.c: Changed debug message mysys/my_write.c: Fixed test when exeeding file quota --- mysys/my_chsize.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'mysys/my_chsize.c') diff --git a/mysys/my_chsize.c b/mysys/my_chsize.c index 1063e9381bf..fe44ff1b12e 100644 --- a/mysys/my_chsize.c +++ b/mysys/my_chsize.c @@ -44,8 +44,8 @@ int my_chsize(File fd, my_off_t newlength, myf MyFlags) my_off_t oldsize; char buff[IO_SIZE]; - bzero(buff,IO_SIZE); oldsize = my_seek(fd, 0L, MY_SEEK_END, MYF(MY_WME+MY_FAE)); + DBUG_PRINT("info",("old_size: %ld", (ulong) oldsize)); #ifdef HAVE_FTRUNCATE if (oldsize > newlength) @@ -64,9 +64,12 @@ int my_chsize(File fd, my_off_t newlength, myf MyFlags) if (oldsize > newlength) { /* Fill diff with null */ VOID(my_seek(fd, newlength, MY_SEEK_SET, MYF(MY_WME+MY_FAE))); - swap(long, newlength, oldsize); + swap(my_off_t, newlength, oldsize); } #endif + /* Full file with 0 until it's as big as requested */ + bzero(buff,IO_SIZE); + my_seek(fd, old_length, MY_SEEK_SET, MYF(MY_WME+MY_FAE)); while (newlength-oldsize > IO_SIZE) { if (my_write(fd,(byte*) buff,IO_SIZE,MYF(MY_NABP))) -- cgit v1.2.1