ruby-changes:24794
From: nobu <ko1@a...>
Date: Wed, 29 Aug 2012 14:59:15 +0900 (JST)
Subject: [ruby-changes:24794] nobu:r36845 (trunk): ruby.c: magic numbers
nobu 2012-08-29 14:59:05 +0900 (Wed, 29 Aug 2012) New Revision: 36845 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=36845 Log: ruby.c: magic numbers * ruby.c (ruby_init_loadpath_safe): remove magic numbers. Modified files: trunk/ruby.c Index: ruby.c =================================================================== --- ruby.c (revision 36844) +++ ruby.c (revision 36845) @@ -411,11 +411,19 @@ #endif p = strrchr(libpath, '/'); if (p) { + static const char bindir[] = "/bin"; + static const char libdir[] = "/lib"; + const ptrdiff_t bindir_len = (ptrdiff_t)sizeof(bindir) - 1; + const ptrdiff_t libdir_len = (ptrdiff_t)sizeof(libdir) - 1; *p = 0; - if (p - libpath > 3 && !(STRCASECMP(p - 4, "/bin") && strcmp(p - 4, "/lib"))) { - p -= 4; + if (p - libpath >= bindir_len && !STRCASECMP(p - bindir_len, bindir)) { + p -= bindir_len; *p = 0; } + else if (p - libpath >= libdir_len && !strcmp(p - libdir_len, libdir)) { + p -= libdir_len; + *p = 0; + } } #if !VARIABLE_LIBPATH else { -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/