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>
* io.c: revert r31230.

View file

@ -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\

View file

@ -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

View file

@ -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;