aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-03-18 14:21:31 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-03-18 14:21:31 +0000
commite30dbb36718a3a1b6c5f7cd2701e46c9b4f285b9 (patch)
treededded425d73eda728f4639d335ddd804eb3e4f5
parent1d006f353d77d3f297c9ee42149eeca45bf90117 (diff)
downloadruby-e30dbb36718a3a1b6c5f7cd2701e46c9b4f285b9.tar.gz
fix condition for free
* gc.c (aligned_free): fix condition for free. memalign() and posix_memalign() are not defined together normally. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--gc.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 4301ce6fd9..9eaee2b403 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sun Mar 18 23:21:17 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * gc.c (aligned_free): fix condition for free. memalign() and
+ posix_memalign() are not defined together normally.
+
Sun Mar 18 18:31:45 2012 Yuki Sonoda (Yugui) <yugui@yugui.jp>
* gc.c (aligned_malloc, aligned_free): added fallback implementations
diff --git a/gc.c b/gc.c
index 538830e344..d260168088 100644
--- a/gc.c
+++ b/gc.c
@@ -1100,7 +1100,8 @@ aligned_malloc(size_t alignment, size_t size)
#elif defined(HAVE_POSIX_MEMALIGN)
if (posix_memalign(&res, alignment, size) == 0) {
return res;
- } else {
+ }
+ else {
return NULL;
}
#elif defined(HAVE_MEMALIGN)
@@ -1129,7 +1130,7 @@ aligned_free(void *ptr)
__mingw_aligned_free(ptr);
#elif defined _WIN32 && !defined __CYGWIN__
_aligned_free(ptr);
-#elif defined(HAVE_MEMALIGN) && defined(HAVE_POSIX_MEMALIGN)
+#elif defined(HAVE_MEMALIGN) || defined(HAVE_POSIX_MEMALIGN)
free(ptr);
#else
free(((void**)ptr)[-1]);