From 73997d38f41e05c8ebe614cc062d5355662320a1 Mon Sep 17 00:00:00 2001 From: nobu Date: Fri, 21 May 2010 04:35:58 +0000 Subject: * ruby.c (ruby_init_loadpath_safe): use real path for non-shared build. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ruby.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'ruby.c') diff --git a/ruby.c b/ruby.c index dbae66e1ac..fadb7cc0fe 100644 --- a/ruby.c +++ b/ruby.c @@ -370,9 +370,12 @@ ruby_init_loadpath_safe(int safe_level) #elif defined(HAVE_DLADDR) Dl_info dli; if (dladdr(expand_include_path, &dli)) { - VALUE fname = rb_str_new_cstr(dli.dli_fname); - sopath = rb_file_absolute_path(fname, Qnil); - rb_str_resize(fname, 0); + VALUE rb_realpath_internal(VALUE basedir, VALUE path, int strict); + char fbuf[MAXPATHLEN]; + char *f = dln_find_file_r(dli.dli_fname, getenv(PATH_ENV), fbuf, sizeof(fbuf)); + VALUE fname = rb_str_new_cstr(f); + rb_str_freeze(fname); + sopath = rb_realpath_internal(Qnil, fname, 1); } else { sopath = rb_str_new(0, 0); -- cgit v1.2.3