ruby-changes:14075
From: nobu <ko1@a...>
Date: Mon, 23 Nov 2009 11:31:31 +0900 (JST)
Subject: [ruby-changes:14075] Ruby:r25888 (ruby_1_8, trunk): * dln.c (dln_find_1): removed duplication.
nobu 2009-11-23 11:26:47 +0900 (Mon, 23 Nov 2009) New Revision: 25888 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=25888 Log: * dln.c (dln_find_1): removed duplication. Modified files: branches/ruby_1_8/ChangeLog branches/ruby_1_8/dln.c trunk/ChangeLog trunk/dln.c Index: ChangeLog =================================================================== --- ChangeLog (revision 25887) +++ ChangeLog (revision 25888) @@ -1,4 +1,4 @@ -Mon Nov 23 10:52:19 2009 Nobuyoshi Nakada <nobu@r...> +Mon Nov 23 11:26:45 2009 Nobuyoshi Nakada <nobu@r...> * dln.c (dln_find_1): removed duplication. Index: dln.c =================================================================== --- dln.c (revision 25887) +++ dln.c (revision 25888) @@ -1557,8 +1557,8 @@ size_t j; int is_abs = 0, has_path = 0; const char *ext = 0; +#endif const char *p = fname; -#endif static const char pathname_too_long[] = "openpath: pathname too long (ignored)\n\ \tDirectory \"%.*s\"\n\tFile \"%s\"\n"; @@ -1620,10 +1620,11 @@ 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 Index: ruby_1_8/dln.c =================================================================== --- ruby_1_8/dln.c (revision 25887) +++ ruby_1_8/dln.c (revision 25888) @@ -1708,8 +1708,8 @@ size_t j; int is_abs = 0, has_path = 0; const char *ext = 0; +#endif const char *p = fname; -#endif static const char pathname_too_long[] = "openpath: pathname too long (ignored)\n\ \tDirectory \"%.*s\"\n\tFile \"%s\"\n"; @@ -1771,10 +1771,11 @@ 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 Index: ruby_1_8/ChangeLog =================================================================== --- ruby_1_8/ChangeLog (revision 25887) +++ ruby_1_8/ChangeLog (revision 25888) @@ -1,4 +1,4 @@ -Mon Nov 23 10:52:19 2009 Nobuyoshi Nakada <nobu@r...> +Mon Nov 23 11:26:45 2009 Nobuyoshi Nakada <nobu@r...> * dln.c (dln_find_1): removed duplication. -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/