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

ruby-changes:17510

From: nobu <ko1@a...>
Date: Sat, 16 Oct 2010 10:15:48 +0900 (JST)
Subject: [ruby-changes:17510] Ruby:r29515 (trunk): * ext/sdbm/_sdbm.c (SEEDUPS, BADMESS): make settable using command

nobu	2010-10-16 10:06:13 +0900 (Sat, 16 Oct 2010)

  New Revision: 29515

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=29515

  Log:
    * ext/sdbm/_sdbm.c (SEEDUPS, BADMESS): make settable using command
      line options.
    
    * ext/sdbm/_sdbm.c (makroom): suppress unused result warning.
    
    * ext/sdbm/extconf.rb: disable BADMESS, a library should not emit
      messages directly.

  Modified files:
    trunk/ChangeLog
    trunk/ext/sdbm/_sdbm.c
    trunk/ext/sdbm/extconf.rb

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 29514)
+++ ChangeLog	(revision 29515)
@@ -1,3 +1,13 @@
+Sat Oct 16 10:06:08 2010  Nobuyoshi Nakada  <nobu@r...>
+
+	* ext/sdbm/_sdbm.c (SEEDUPS, BADMESS): make settable using command
+	  line options.
+
+	* ext/sdbm/_sdbm.c (makroom): suppress unused result warning.
+
+	* ext/sdbm/extconf.rb: disable BADMESS, a library should not emit
+	  messages directly.
+
 Sat Oct 16 08:39:03 2010  Nobuyoshi Nakada  <nobu@r...>
 
 	* dln.c (dln_strerror): get English message first, instead of
Index: ext/sdbm/_sdbm.c
===================================================================
--- ext/sdbm/_sdbm.c	(revision 29514)
+++ ext/sdbm/_sdbm.c	(revision 29515)
@@ -39,9 +39,14 @@
  * important tuning parms (hah)
  */
 
-#define SEEDUPS		/* always detect duplicates */
-#define BADMESS		/* generate a message for worst case:
+#ifndef SEEDUPS
+#define SEEDUPS 1	/* always detect duplicates */
+#endif
+#ifndef BADMESS
+#define BADMESS 1	/* generate a message for worst case:
 			   cannot make room after SPLTMAX splits */
+#endif
+
 /*
  * misc
  */
@@ -67,7 +72,7 @@
 static int   chkpage proto((char *));
 static datum getnkey proto((char *, int));
 static void  splpage proto((char *, char *, long));
-#ifdef SEEDUPS
+#if SEEDUPS
 static int   duppair proto((char *, datum));
 #endif
 
@@ -302,7 +307,7 @@
  */
 		if (flags == DBM_REPLACE)
 			(void) delpair(db->pagbuf, key);
-#ifdef SEEDUPS
+#if SEEDUPS
 		else if (duppair(db->pagbuf, key))
 			return 1;
 #endif
@@ -421,8 +426,8 @@
  * if we are here, this is real bad news. After SPLTMAX splits,
  * we still cannot fit the key. say goodnight.
  */
-#ifdef BADMESS
-	(void) write(2, "sdbm: cannot insert after SPLTMAX attempts.\n", 44);
+#if BADMESS
+	(void) (write(2, "sdbm: cannot insert after SPLTMAX attempts.\n", 44) < 0);
 #endif
 	return 0;
 
@@ -698,7 +703,7 @@
 	return val;
 }
 
-#ifdef SEEDUPS
+#if SEEDUPS
 static int
 duppair(char *pag, datum key)
 {
Index: ext/sdbm/extconf.rb
===================================================================
--- ext/sdbm/extconf.rb	(revision 29514)
+++ ext/sdbm/extconf.rb	(revision 29515)
@@ -1,3 +1,4 @@
 require 'mkmf'
 
+$defs << "-D""BADMESS=0"
 create_makefile("sdbm")

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

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