Drop any file64 functions, try to use system supplied 64-bit mode by
using proper defines.
diff --git a/server/file.c b/server/file.c
index 7b315b2..f0cd310 100644
--- a/server/file.c
+++ b/server/file.c
@@ -259,11 +259,11 @@
static int file_get_info( struct object *obj, struct get_file_info_request *req )
{
- struct stat64 st;
+ struct stat st;
struct file *file = (struct file *)obj;
assert( obj->ops == &file_ops );
- if (fstat64( file->obj.fd, &st ) == -1)
+ if (fstat( file->obj.fd, &st ) == -1)
{
file_set_error();
return 0;
@@ -343,12 +343,12 @@
static int set_file_pointer( handle_t handle, unsigned int *low, int *high, int whence )
{
struct file *file;
- off64_t result,xto;
+ off_t result,xto;
- xto = *low+((off64_t)*high<<32);
+ xto = *low+((off_t)*high<<32);
if (!(file = get_file_obj( current->process, handle, 0 )))
return 0;
- if ((result = lseek64(file->obj.fd,xto,whence))==-1)
+ if ((result = lseek(file->obj.fd,xto,whence))==-1)
{
/* Check for seek before start of file */
@@ -370,17 +370,18 @@
static int truncate_file( handle_t handle )
{
struct file *file;
- off64_t result;
+ off_t result;
if (!(file = get_file_obj( current->process, handle, GENERIC_WRITE )))
return 0;
- if (((result = lseek64( file->obj.fd, 0, SEEK_CUR )) == -1) ||
- (ftruncate64( file->obj.fd, result ) == -1))
+ if (((result = lseek( file->obj.fd, 0, SEEK_CUR )) == -1) ||
+ (ftruncate( file->obj.fd, result ) == -1))
{
file_set_error();
release_object( file );
return 0;
}
+ fprintf(stderr,"server:truncated to %Ld\n",result);
release_object( file );
return 1;
}
@@ -388,16 +389,16 @@
/* try to grow the file to the specified size */
int grow_file( struct file *file, int size_high, int size_low )
{
- struct stat64 st;
- off64_t size = size_low + (((off64_t)size_high)<<32);
+ struct stat st;
+ off_t size = size_low + (((off_t)size_high)<<32);
- if (fstat64( file->obj.fd, &st ) == -1)
+ if (fstat( file->obj.fd, &st ) == -1)
{
file_set_error();
return 0;
}
if (st.st_size >= size) return 1; /* already large enough */
- if (ftruncate64( file->obj.fd, size ) != -1) return 1;
+ if (ftruncate( file->obj.fd, size ) != -1) return 1;
file_set_error();
return 0;
}