Convert python hdrKeyList() to new header iterator interface
authorPanu Matilainen <pmatilai@redhat.com>
Mon, 26 May 2008 06:15:54 +0000 (09:15 +0300)
committerPanu Matilainen <pmatilai@redhat.com>
Mon, 26 May 2008 06:15:54 +0000 (09:15 +0300)
python/header-py.c

index c1186fd..d409683 100644 (file)
@@ -143,16 +143,16 @@ static PyObject * hdrKeyList(hdrObject * s)
 {
     PyObject * list, *o;
     HeaderIterator hi;
-    rpmTag tag;
-    rpmTagType type;
+    rpmtd td = rpmtdNew();
 
     list = PyList_New(0);
 
     hi = headerInitIterator(s->h);
-    while (headerNextIterator(hi, &tag, &type, NULL, NULL)) {
+    while (headerNext(hi, td)) {
+       rpmTag tag = rpmtdTag(td);
         if (tag == HEADER_I18NTABLE) continue;
 
-       switch (type) {
+       switch (rpmtdType(td)) {
        case RPM_BIN_TYPE:
        case RPM_INT32_TYPE:
        case RPM_CHAR_TYPE:
@@ -168,8 +168,10 @@ static PyObject * hdrKeyList(hdrObject * s)
        default:
            break;
        }
+       rpmtdFreeData(td);
     }
     headerFreeIterator(hi);
+    rpmtdFree(td);
 
     return list;
 }