ruby-changes:24387
From: nobu <ko1@a...>
Date: Wed, 18 Jul 2012 16:44:28 +0900 (JST)
Subject: [ruby-changes:24387] nobu:r36438 (trunk): empty_p: optimize and warnings
nobu 2012-07-18 16:44:17 +0900 (Wed, 18 Jul 2012) New Revision: 36438 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=36438 Log: empty_p: optimize and warnings * ext/dbm/dbm.c (fdbm_empty_p): not empty if first key exists. suppress warnngs by gcc 4.7 -Wstrict-overflow. * ext/sdbm/init.c (fsdbm_empty_p): ditto. Modified files: trunk/ext/dbm/dbm.c trunk/ext/sdbm/init.c Index: ext/sdbm/init.c =================================================================== --- ext/sdbm/init.c (revision 36437) +++ ext/sdbm/init.c (revision 36438) @@ -714,21 +714,20 @@ datum key; struct dbmdata *dbmp; DBM *dbm; - int i = 0; GetDBM(obj, dbmp); if (dbmp->di_size < 0) { dbm = dbmp->di_dbm; for (key = sdbm_firstkey(dbm); key.dptr; key = sdbm_nextkey(dbm)) { - i++; + return Qfalse; } } else { - i = dbmp->di_size; + if (!dbmp->di_size) + return Qfalse; } - if (i == 0) return Qtrue; - return Qfalse; + return Qtrue; } /* Index: ext/dbm/dbm.c =================================================================== --- ext/dbm/dbm.c (revision 36437) +++ ext/dbm/dbm.c (revision 36438) @@ -689,21 +689,20 @@ datum key; struct dbmdata *dbmp; DBM *dbm; - int i = 0; GetDBM2(obj, dbmp, dbm); if (dbmp->di_size < 0) { dbm = dbmp->di_dbm; for (key = dbm_firstkey(dbm); key.dptr; key = dbm_nextkey(dbm)) { - i++; + return Qfalse; } } else { - i = (int)dbmp->di_size; + if (!dbmp->di_size) + return Qfalse; } - if (i == 0) return Qtrue; - return Qfalse; + return Qtrue; } /* -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/