diff --git a/src/fdlib.c b/src/fdlib.c index a0859bc92a16cf58f63a0d17145462816aac17d4..690f3c39019c3e04d7124ed975c305ea1eb7bbc4 100644 --- a/src/fdlib.c +++ b/src/fdlib.c @@ -3,7 +3,7 @@ #include "error.h" #include <math.h> -RCSID("$Id: fdlib.c,v 1.19 1998/05/08 03:35:55 hubbe Exp $"); +RCSID("$Id: fdlib.c,v 1.20 1998/06/06 03:15:20 hubbe Exp $"); #ifdef HAVE_WINSOCK_H @@ -489,11 +489,19 @@ long fd_lseek(FD fd, long pos, int where) errno=ENOTSUPP; return -1; } +#if FILE_BEGIN != SEEK_SET || FILE_CURRENT != SEEK_CUR || FILE_END != SEEK_END + switch(where) + { + case SEEK_SET: where=FILE_BEGIN; break; + case SEEK_CUR: where=FILE_CURRENT; break; + case SEEK_END: where=FILE_END; break; + } +#endif ret=da_handle[fd]; mt_unlock(&fd_mutex); - ret=LZSeek((HANDLE)ret, pos, where); - if(ret<0) + ret=SetFilePointer((HANDLE)ret, pos, 0, where); + if(ret == 0xffffffff) { errno=GetLastError(); return -1;