ruby.c: magic numbers
* ruby.c (ruby_init_loadpath_safe): remove magic numbers. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
cc4c0ab862
commit
58d0277775
12
ruby.c
12
ruby.c
@ -411,9 +411,17 @@ ruby_init_loadpath_safe(int safe_level)
|
||||
#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;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user