mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
83c5219287
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
40 lines
729 B
C
40 lines
729 B
C
/**********************************************************************
|
|
|
|
main.c -
|
|
|
|
$Author$
|
|
created at: Fri Aug 19 13:19:58 JST 1994
|
|
|
|
Copyright (C) 1993-2007 Yukihiro Matsumoto
|
|
|
|
**********************************************************************/
|
|
|
|
#undef RUBY_EXPORT
|
|
#include "ruby.h"
|
|
#include "debug.h"
|
|
#ifdef HAVE_LOCALE_H
|
|
#include <locale.h>
|
|
#endif
|
|
#ifdef RUBY_DEBUG_ENV
|
|
#include <stdlib.h>
|
|
#endif
|
|
|
|
RUBY_GLOBAL_SETUP
|
|
|
|
int
|
|
main(int argc, char **argv)
|
|
{
|
|
#ifdef RUBY_DEBUG_ENV
|
|
ruby_set_debug_option(getenv("RUBY_DEBUG"));
|
|
#endif
|
|
#ifdef HAVE_LOCALE_H
|
|
setlocale(LC_CTYPE, "");
|
|
#endif
|
|
|
|
ruby_sysinit(&argc, &argv);
|
|
{
|
|
RUBY_INIT_STACK;
|
|
ruby_init();
|
|
return ruby_run_node(ruby_options(argc, argv));
|
|
}
|
|
}
|