Fix ndbm compile warnings (bug #2540)
authorMark Spencer <markster@digium.com>
Sun, 17 Oct 2004 22:24:46 +0000 (22:24 +0000)
committerMark Spencer <markster@digium.com>
Sun, 17 Oct 2004 22:24:46 +0000 (22:24 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4031 65c4cc65-6c06-0410-ace0-fbb531ad65f3

db1-ast/hash/ndbm.c

index 20840e9..d702f73 100755 (executable)
@@ -105,15 +105,20 @@ dbm_fetch(db, key)
        DBM *db;
        datum key;
 {
-       datum retval;
+       datum retdata;
        int status;
+       DBT dbtkey, dbtretdata;
 
-       status = (db->get)(db, (DBT *)&key, (DBT *)&retval, 0);
+       dbtkey.data = key.dptr;
+       dbtkey.size = key.dsize;
+       status = (db->get)(db, &dbtkey, &dbtretdata, 0);
        if (status) {
-               retval.dptr = NULL;
-               retval.dsize = 0;
+               dbtretdata.data = NULL;
+               dbtretdata.size = 0;
        }
-       return (retval);
+       retdata.dptr = dbtretdata.data;
+       retdata.dsize = dbtretdata.size;
+       return (retdata);
 }
 
 /*
@@ -126,11 +131,14 @@ dbm_firstkey(db)
        DBM *db;
 {
        int status;
-       datum retdata, retkey;
+       datum retkey;
+       DBT dbtretkey, dbtretdata;
 
-       status = (db->seq)(db, (DBT *)&retkey, (DBT *)&retdata, R_FIRST);
+       status = (db->seq)(db, &dbtretkey, &dbtretdata, R_FIRST);
        if (status)
-               retkey.dptr = NULL;
+               dbtretkey.data = NULL;
+       retkey.dptr = dbtretkey.data;
+       retkey.dsize = dbtretkey.size;
        return (retkey);
 }
 
@@ -144,11 +152,14 @@ dbm_nextkey(db)
        DBM *db;
 {
        int status;
-       datum retdata, retkey;
+       datum retkey;
+       DBT dbtretkey, dbtretdata;
 
-       status = (db->seq)(db, (DBT *)&retkey, (DBT *)&retdata, R_NEXT);
+       status = (db->seq)(db, &dbtretkey, &dbtretdata, R_NEXT);
        if (status)
-               retkey.dptr = NULL;
+               dbtretkey.data = NULL;
+       retkey.dptr = dbtretkey.data;
+       retkey.dsize = dbtretkey.size;
        return (retkey);
 }
 /*
@@ -162,8 +173,11 @@ dbm_delete(db, key)
        datum key;
 {
        int status;
+       DBT dbtkey;
 
-       status = (db->del)(db, (DBT *)&key, 0);
+       dbtkey.data = key.dptr;
+       dbtkey.size = key.dsize;
+       status = (db->del)(db, &dbtkey, 0);
        if (status)
                return (-1);
        else
@@ -177,12 +191,18 @@ dbm_delete(db, key)
  *      1 if DBM_INSERT and entry exists
  */
 extern int
-dbm_store(db, key, content, flags)
+dbm_store(db, key, data, flags)
        DBM *db;
-       datum key, content;
+       datum key, data;
        int flags;
 {
-       return ((db->put)(db, (DBT *)&key, (DBT *)&content,
+       DBT dbtkey, dbtdata;
+
+       dbtkey.data = key.dptr;
+       dbtkey.size = key.dsize;
+       dbtdata.data = data.dptr;
+       dbtdata.size = data.dsize;
+       return ((db->put)(db, &dbtkey, &dbtdata,
            (flags == DBM_INSERT) ? R_NOOVERWRITE : 0));
 }