By using full function calling conversion (*func) we avoid problem

when close(fd) is overridden using a macro.


git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@18079 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Love Hörnquist Åstrand
2006-09-12 18:12:37 +00:00
parent 1eaf2446ed
commit ee9b01aa50

View File

@@ -47,7 +47,7 @@ static krb5_error_code
DB_close(krb5_context context, HDB *db) DB_close(krb5_context context, HDB *db)
{ {
DB *d = (DB*)db->hdb_db; DB *d = (DB*)db->hdb_db;
d->close(d); (*d->close)(d);
return 0; return 0;
} }
@@ -95,7 +95,7 @@ DB_seq(krb5_context context, HDB *db,
code = db->hdb_lock(context, db, HDB_RLOCK); code = db->hdb_lock(context, db, HDB_RLOCK);
if(code == -1) if(code == -1)
return HDB_ERR_DB_INUSE; return HDB_ERR_DB_INUSE;
code = d->seq(d, &key, &value, flag); code = (*d->seq)(d, &key, &value, flag);
db->hdb_unlock(context, db); /* XXX check value */ db->hdb_unlock(context, db); /* XXX check value */
if(code == -1) if(code == -1)
return errno; return errno;
@@ -172,7 +172,7 @@ DB__get(krb5_context context, HDB *db, krb5_data key, krb5_data *reply)
code = db->hdb_lock(context, db, HDB_RLOCK); code = db->hdb_lock(context, db, HDB_RLOCK);
if(code) if(code)
return code; return code;
code = d->get(d, &k, &v, 0); code = (*d->get)(d, &k, &v, 0);
db->hdb_unlock(context, db); db->hdb_unlock(context, db);
if(code < 0) if(code < 0)
return errno; return errno;
@@ -198,7 +198,7 @@ DB__put(krb5_context context, HDB *db, int replace,
code = db->hdb_lock(context, db, HDB_WLOCK); code = db->hdb_lock(context, db, HDB_WLOCK);
if(code) if(code)
return code; return code;
code = d->put(d, &k, &v, replace ? 0 : R_NOOVERWRITE); code = (*d->put)(d, &k, &v, replace ? 0 : R_NOOVERWRITE);
db->hdb_unlock(context, db); db->hdb_unlock(context, db);
if(code < 0) if(code < 0)
return errno; return errno;
@@ -218,7 +218,7 @@ DB__del(krb5_context context, HDB *db, krb5_data key)
code = db->hdb_lock(context, db, HDB_WLOCK); code = db->hdb_lock(context, db, HDB_WLOCK);
if(code) if(code)
return code; return code;
code = d->del(d, &k, 0); code = (*d->del)(d, &k, 0);
db->hdb_unlock(context, db); db->hdb_unlock(context, db);
if(code == 1) if(code == 1)
return HDB_ERR_NOENTRY; return HDB_ERR_NOENTRY;