summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-11-23 02:26:47 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-11-23 02:26:47 +0000
commit54090ad09b62d749bfbc4e7af2cb149e938366d9 (patch)
tree6f2351fb2645f27345a4bc532eb2c02f6039b085
parent83bd1353ce58010c8ce79057784290766c9eea2e (diff)
* dln.c (dln_find_1): removed duplication.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@25888 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog2
-rw-r--r--dln.c7
2 files changed, 5 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index c1ded57af8..85d184c129 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,4 @@
-Mon Nov 23 10:52:19 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Nov 23 11:26:45 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
* dln.c (dln_find_1): removed duplication.
diff --git a/dln.c b/dln.c
index 2838a4932f..17e0bdbee4 100644
--- a/dln.c
+++ b/dln.c
@@ -1708,8 +1708,8 @@ dln_find_1(fname, path, fbuf, size, exe_flag)
size_t j;
int is_abs = 0, has_path = 0;
const char *ext = 0;
- const char *p = fname;
#endif
+ const char *p = fname;
static const char pathname_too_long[] = "openpath: pathname too long (ignored)\n\
\tDirectory \"%.*s\"\n\tFile \"%s\"\n";
@@ -1771,10 +1771,11 @@ dln_find_1(fname, path, fbuf, size, exe_flag)
memcpy(fbuf, fname, i + 1);
goto needs_extension;
}
+ p = fname;
#endif
- RETURN_IF(fname[0] == '/');
- RETURN_IF(strncmp("./", fname, 2) == 0 || strncmp("../", fname, 3) == 0);
+ if (*p == '.' && *++p == '.') ++p;
+ RETURN_IF(*p == '/');
RETURN_IF(exe_flag && strchr(fname, '/'));
#undef RETURN_IF