diff options
-rw-r--r-- | ChangeLog | 14 | ||||
-rw-r--r-- | configure.in | 4 | ||||
-rw-r--r-- | include/ruby/win32.h | 18 | ||||
-rw-r--r-- | version.h | 2 | ||||
-rw-r--r-- | win32/win32.c | 6 |
5 files changed, 34 insertions, 10 deletions
@@ -1,3 +1,17 @@ +Tue Apr 12 10:37:39 2011 NAKAMURA Usaku <usa@ruby-lang.org> + + * include/ruby/win32.h: VC doesn't have ftruncate() and others, but + ruby needs HAVE_ macros to use our emulation functions. + (fix the problem of 31262) + +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. + Fri Apr 8 16:01:56 2011 NARUSE, Yui <naruse@ruby-lang.org> * ext/stringio/stringio.c (strio_getline): check whether str is diff --git a/configure.in b/configure.in index 3309c5a316..be06c20034 100644 --- a/configure.in +++ b/configure.in @@ -938,9 +938,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_setpgrp_void=yes @@ -1187,7 +1185,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\ 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 47a85270a5..32de53f7ec 100644 --- a/include/ruby/win32.h +++ b/include/ruby/win32.h @@ -370,11 +370,23 @@ scalb(double a, long b) // #define SUFFIX + +#if !defined HAVE_FTRUNCATE || defined(_MSC_VER) #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 || defined(_MSC_VER) +#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 || defined(_MSC_VER) +#define ftello rb_w32_ftello +extern off_t rb_w32_ftello(FILE *stream); +#endif // // stubs @@ -1,5 +1,5 @@ #define RUBY_VERSION "1.9.2" -#define RUBY_PATCHLEVEL 225 +#define RUBY_PATCHLEVEL 226 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 9 #define RUBY_VERSION_TEENY 1 diff --git a/win32/win32.c b/win32/win32.c index 55e8c1237d..317792a572 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -4332,7 +4332,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; @@ -4358,7 +4358,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; @@ -4431,7 +4431,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; |