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:
parent
0f771e33e2
commit
c2bfeaa244
4 changed files with 27 additions and 9 deletions
|
@ -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.
|
||||
|
|
|
@ -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\
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Add table
Reference in a new issue