summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-05-29 22:49:27 +0000
committeryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-05-29 22:49:27 +0000
commitd4e840bf26f5570d2d87dca24ae4d2a0268f3b85 (patch)
treef5d002cefd610e79b051ea7ce2dcddb19b7429e8
parent7ffffab2363364d451952d437ebed2686e51f06a (diff)
merges r31262 and r31264 from trunk into ruby_1_9_2.
-- Evaluate truncate, ftruncate and ftello existence This corrects mingw-w64 compilation. -- * 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) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@31798 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog14
-rw-r--r--configure.in4
-rw-r--r--include/ruby/win32.h18
-rw-r--r--version.h2
-rw-r--r--win32/win32.c6
5 files changed, 34 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index 9f12bfd546..e70709e1b2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
diff --git a/version.h b/version.h
index 449e4aa1a4..989effc925 100644
--- a/version.h
+++ b/version.h
@@ -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;