[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]