aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog12
-rw-r--r--main.c3
2 files changed, 15 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 9bcd71433b..94f231b673 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+Mon Nov 1 21:25:57 2010 URABE Shyouhei <shyouhei@ruby-lang.org>
+
+ * main.c: <stdlib.h> is needed, to introduce the getenv(3)
+ prototype declaration. Without it a C compiler shall infer
+ the getenv type as "int getenv(...);", but this is totally
+ wrong, especially when your machine's sizeof(int) and
+ sizeof(char*) differs. On such environment a return value
+ of getenv(3), which is in fact a char*, might first casted
+ into a int (loses data here), and then casted back to char*
+ by automatic integral promotion fo fit to the prototype of
+ ruby_set_debug_option().
+
Sun Oct 31 23:27:09 2010 Koichi Sasada <ko1@atdot.net>
* gc.c (finalizer_table, objspace->final.table):
diff --git a/main.c b/main.c
index a782939ff3..e100cddba5 100644
--- a/main.c
+++ b/main.c
@@ -15,6 +15,9 @@
#ifdef HAVE_LOCALE_H
#include <locale.h>
#endif
+#ifdef RUBY_DEBUG_ENV
+#include <stdlib.h>
+#endif
RUBY_GLOBAL_SETUP