mirror of
https://github.com/ruby/ruby.git
synced 2025-09-15 16:44:01 +02:00
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. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
5a03c25690
commit
f9c014d008
2 changed files with 8 additions and 10 deletions
|
@ -689,21 +689,20 @@ fdbm_empty_p(VALUE obj)
|
||||||
datum key;
|
datum key;
|
||||||
struct dbmdata *dbmp;
|
struct dbmdata *dbmp;
|
||||||
DBM *dbm;
|
DBM *dbm;
|
||||||
int i = 0;
|
|
||||||
|
|
||||||
GetDBM2(obj, dbmp, dbm);
|
GetDBM2(obj, dbmp, dbm);
|
||||||
if (dbmp->di_size < 0) {
|
if (dbmp->di_size < 0) {
|
||||||
dbm = dbmp->di_dbm;
|
dbm = dbmp->di_dbm;
|
||||||
|
|
||||||
for (key = dbm_firstkey(dbm); key.dptr; key = dbm_nextkey(dbm)) {
|
for (key = dbm_firstkey(dbm); key.dptr; key = dbm_nextkey(dbm)) {
|
||||||
i++;
|
return Qfalse;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
i = (int)dbmp->di_size;
|
if (!dbmp->di_size)
|
||||||
|
return Qfalse;
|
||||||
}
|
}
|
||||||
if (i == 0) return Qtrue;
|
return Qtrue;
|
||||||
return Qfalse;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -714,21 +714,20 @@ fsdbm_empty_p(VALUE obj)
|
||||||
datum key;
|
datum key;
|
||||||
struct dbmdata *dbmp;
|
struct dbmdata *dbmp;
|
||||||
DBM *dbm;
|
DBM *dbm;
|
||||||
int i = 0;
|
|
||||||
|
|
||||||
GetDBM(obj, dbmp);
|
GetDBM(obj, dbmp);
|
||||||
if (dbmp->di_size < 0) {
|
if (dbmp->di_size < 0) {
|
||||||
dbm = dbmp->di_dbm;
|
dbm = dbmp->di_dbm;
|
||||||
|
|
||||||
for (key = sdbm_firstkey(dbm); key.dptr; key = sdbm_nextkey(dbm)) {
|
for (key = sdbm_firstkey(dbm); key.dptr; key = sdbm_nextkey(dbm)) {
|
||||||
i++;
|
return Qfalse;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
i = dbmp->di_size;
|
if (!dbmp->di_size)
|
||||||
|
return Qfalse;
|
||||||
}
|
}
|
||||||
if (i == 0) return Qtrue;
|
return Qtrue;
|
||||||
return Qfalse;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue