diff --git a/configure.in b/configure.in index 8a4e97e..69862e8 100644 --- a/configure.in +++ b/configure.in @@ -1048,9 +1048,7 @@ main() ac_cv_func_isnan=yes ac_cv_func_finite=yes ac_cv_func_link=yes - ac_cv_func_truncate=yes ac_cv_func_fseeko=yes - ac_cv_func_ftello=yes ac_cv_lib_crypt_crypt=no ac_cv_func_getpgrp_void=no ac_cv_func_memcmp_working=yes @@ -1302,7 +1300,7 @@ else AC_LIBOBJ([signbit]) fi AC_CHECK_FUNCS(fmod killpg wait4 waitpid fork spawnv syscall __syscall chroot getcwd eaccess\ - truncate ftruncate chsize times utimes utimensat fcntl lockf lstat\ + truncate ftruncate ftello chsize times utimes utimensat fcntl lockf lstat\ link symlink readlink readdir_r fsync fdatasync fchown posix_fadvise\ setitimer setruid seteuid setreuid setresuid setproctitle socketpair\ setrgid setegid setregid setresgid issetugid pause lchown lchmod\ diff --git a/include/ruby/win32.h b/include/ruby/win32.h index 791085f..d822a01 100644 --- a/include/ruby/win32.h +++ b/include/ruby/win32.h @@ -381,11 +381,23 @@ scalb(double a, long b) // #define SUFFIX + +#if !defined HAVE_FTRUNCATE #define ftruncate rb_w32_ftruncate -extern int truncate(const char *path, off_t length); -extern int ftruncate(int fd, off_t length); +extern int rb_w32_ftruncate(int fd, off_t length); +#endif + +#if !defined HAVE_TRUNCATE +#define truncate rb_w32_truncate +extern int rb_w32_truncate(const char *path, off_t length); +#endif + extern int fseeko(FILE *stream, off_t offset, int whence); -extern off_t ftello(FILE *stream); + +#if !defined HAVE_FTELLO +#define ftello rb_w32_ftello +extern off_t rb_w32_ftello(FILE *stream); +#endif // // stubs diff --git a/win32/win32.c b/win32/win32.c index 2e92665..f87cf8b 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -4318,7 +4318,7 @@ rb_chsize(HANDLE h, off_t size) } int -truncate(const char *path, off_t length) +rb_w32_truncate(const char *path, off_t length) { HANDLE h; int ret; @@ -4344,7 +4344,7 @@ truncate(const char *path, off_t length) } int -ftruncate(int fd, off_t length) +rb_w32_ftruncate(int fd, off_t length) { HANDLE h; @@ -4417,7 +4417,7 @@ fseeko(FILE *stream, off_t offset, int whence) } off_t -ftello(FILE *stream) +rb_w32_ftello(FILE *stream) { off_t pos; if (fgetpos(stream, (fpos_t *)&pos)) return (off_t)-1;