Eliminate redundant/bogus temporary variable shuffling
authorPanu Matilainen <pmatilai@redhat.com>
Wed, 7 Apr 2010 03:55:15 +0000 (06:55 +0300)
committerPanu Matilainen <pmatilai@redhat.com>
Wed, 7 Apr 2010 03:55:15 +0000 (06:55 +0300)
- This fetches the special key zero which is used for bookkeeping of
  header "instance" numbers, the actual header to be stored is NOT
  relevant here
- keyp, keylen, datap and datalen are just redundant fluff, manipulate
  the key and data DBT directly

lib/rpmdb.c

index f3ad7ca..831e768 100644 (file)
@@ -2421,27 +2421,17 @@ int rpmdbAdd(rpmdb db, int iid, Header h,
     dbi = rpmdbOpenIndex(db, RPMDBI_PACKAGES, 0);
     if (dbi != NULL) {
        unsigned int firstkey = 0;
-       void * keyp = &firstkey;
-       size_t keylen = sizeof(firstkey);
-       void * datap = h;
-       size_t datalen = headerSizeof(h, HEADER_MAGIC_NO);
 
        xx = dbiCopen(dbi, &dbcursor, DB_WRITECURSOR);
 
        /* Retrieve join key for next header instance. */
-       key.data = keyp;
-       key.size = keylen;
-       data.data = datap;
-       data.size = datalen;
+       key.data = &firstkey;
+       key.size = sizeof(firstkey);
        ret = dbiGet(dbi, dbcursor, &key, &data, DB_SET);
-       keyp = key.data;
-       keylen = key.size;
-       datap = data.data;
-       datalen = data.size;
 
        hdrNum = 0;
-       if (ret == 0 && datap) {
-           memcpy(&mi_offset, datap, sizeof(mi_offset.ui));
+       if (ret == 0 && data.data) {
+           memcpy(&mi_offset, data.data, sizeof(mi_offset.ui));
            if (dbiByteSwapped(dbi) == 1)
                _DBSWAP(mi_offset);
            hdrNum = mi_offset.ui;
@@ -2450,18 +2440,13 @@ int rpmdbAdd(rpmdb db, int iid, Header h,
        mi_offset.ui = hdrNum;
        if (dbiByteSwapped(dbi) == 1)
            _DBSWAP(mi_offset);
-       if (ret == 0 && datap) {
-           memcpy(datap, &mi_offset, sizeof(mi_offset.ui));
+       if (ret == 0 && data.data) {
+           memcpy(data.data, &mi_offset, sizeof(mi_offset.ui));
        } else {
-           datap = &mi_offset;
-           datalen = sizeof(mi_offset.ui);
+           data.data = &mi_offset;
+           data.size = sizeof(mi_offset.ui);
        }
 
-       key.data = keyp;
-       key.size = keylen;
-       data.data = datap;
-       data.size = datalen;
-
        ret = dbiPut(dbi, dbcursor, &key, &data, DB_KEYLAST);
        xx = dbiSync(dbi, 0);