1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Evaluate truncate, ftruncate and ftello existence

This corrects mingw-w64 compilation.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31262 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
luislavena 2011-04-11 16:38:10 +00:00
parent 0f771e33e2
commit c2bfeaa244
4 changed files with 27 additions and 9 deletions

View file

@ -1,3 +1,11 @@
Tue Apr 12 01:33:00 2011 Luis Lavena <luislavena@gmail.com>
* configure.in: properly evaluate existence of truncate, ftruncate
and ftello for MinGW. [ruby-core:35678]
* win32/win32.c: rename truncate, ftruncate and ftello to avoid
redefinitions.
* win32/win32.h: ditto.
Mon Apr 11 21:51:52 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com> Mon Apr 11 21:51:52 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
* io.c: revert r31230. * io.c: revert r31230.

View file

@ -1048,9 +1048,7 @@ main()
ac_cv_func_isnan=yes ac_cv_func_isnan=yes
ac_cv_func_finite=yes ac_cv_func_finite=yes
ac_cv_func_link=yes ac_cv_func_link=yes
ac_cv_func_truncate=yes
ac_cv_func_fseeko=yes ac_cv_func_fseeko=yes
ac_cv_func_ftello=yes
ac_cv_lib_crypt_crypt=no ac_cv_lib_crypt_crypt=no
ac_cv_func_getpgrp_void=no ac_cv_func_getpgrp_void=no
ac_cv_func_memcmp_working=yes ac_cv_func_memcmp_working=yes
@ -1302,7 +1300,7 @@ else
AC_LIBOBJ([signbit]) AC_LIBOBJ([signbit])
fi fi
AC_CHECK_FUNCS(fmod killpg wait4 waitpid fork spawnv syscall __syscall chroot getcwd eaccess\ 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\ link symlink readlink readdir_r fsync fdatasync fchown posix_fadvise\
setitimer setruid seteuid setreuid setresuid setproctitle socketpair\ setitimer setruid seteuid setreuid setresuid setproctitle socketpair\
setrgid setegid setregid setresgid issetugid pause lchown lchmod\ setrgid setegid setregid setresgid issetugid pause lchown lchmod\

View file

@ -381,11 +381,23 @@ scalb(double a, long b)
// //
#define SUFFIX #define SUFFIX
#if !defined HAVE_FTRUNCATE
#define ftruncate rb_w32_ftruncate #define ftruncate rb_w32_ftruncate
extern int truncate(const char *path, off_t length); extern int rb_w32_ftruncate(int fd, off_t length);
extern int 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 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 // stubs

View file

@ -4318,7 +4318,7 @@ rb_chsize(HANDLE h, off_t size)
} }
int int
truncate(const char *path, off_t length) rb_w32_truncate(const char *path, off_t length)
{ {
HANDLE h; HANDLE h;
int ret; int ret;
@ -4344,7 +4344,7 @@ truncate(const char *path, off_t length)
} }
int int
ftruncate(int fd, off_t length) rb_w32_ftruncate(int fd, off_t length)
{ {
HANDLE h; HANDLE h;
@ -4417,7 +4417,7 @@ fseeko(FILE *stream, off_t offset, int whence)
} }
off_t off_t
ftello(FILE *stream) rb_w32_ftello(FILE *stream)
{ {
off_t pos; off_t pos;
if (fgetpos(stream, (fpos_t *)&pos)) return (off_t)-1; if (fgetpos(stream, (fpos_t *)&pos)) return (off_t)-1;