diff options
author | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-11-01 12:43:59 +0000 |
---|---|---|
committer | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-11-01 12:43:59 +0000 |
commit | 83c5219287937d3dffe60ebd85a5c1f808006238 (patch) | |
tree | 08e921559246a4dabedebd5e38e4c158621cf062 /ChangeLog | |
parent | 93880659c00b33c6429f6b9cd7a15ff9ee499a70 (diff) | |
download | ruby-83c5219287937d3dffe60ebd85a5c1f808006238.tar.gz |
* 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().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -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): |