Typemaps.i (using chunk)
authorTomas Mlcoch <tmlcoch@redhat.com>
Thu, 15 Dec 2011 14:22:09 +0000 (15:22 +0100)
committerTomas Mlcoch <tmlcoch@redhat.com>
Thu, 15 Dec 2011 14:22:09 +0000 (15:22 +0100)
typemaps.i

index 5b56a0f..8286473 100644 (file)
     Package *pkg = package_new();
 
     val = PyDict_GetItemString($input, "checksum");
-    if (val) {
-        pkg->pkgId = PyString_AsString(val);
+    if (val) str = PyString_AsString(val);
+    if (val && str) {
+        pkg->pkgId = g_string_chunk_insert(pkg->chunk, str);
     }
 
     val = PyDict_GetItemString($input, "name");
-    if (val) {
-        pkg->name = PyString_AsString(val);
+    if (val) str = PyString_AsString(val);
+    if (val && str) {
+        pkg->name = g_string_chunk_insert(pkg->chunk, str);
     }
 
     val = PyDict_GetItemString($input, "arch");
-    if (val) {
-        pkg->arch = PyString_AsString(val);
+    if (val) str = PyString_AsString(val);
+    if (val && str) {
+        pkg->arch = g_string_chunk_insert(pkg->chunk, str);
     }
 
     val = PyDict_GetItemString($input, "version");
-    if (val) {
-        pkg->version = PyString_AsString(val);
+    if (val) str = PyString_AsString(val);
+    if (val && str) {
+        pkg->version = g_string_chunk_insert(pkg->chunk, str);
     }
 
     val = PyDict_GetItemString($input, "epoch");
-    if (val) {
-        pkg->epoch = PyString_AsString(val);
+    if (val) str = PyString_AsString(val);
+    if (val && str) {
+        pkg->epoch = g_string_chunk_insert(pkg->chunk, str);
     }
 
     val = PyDict_GetItemString($input, "release");
-    if (val) {
-        pkg->release = PyString_AsString(val);
+    if (val) str = PyString_AsString(val);
+    if (val && str) {
+        pkg->release = g_string_chunk_insert(pkg->chunk, str);
     }
 
     val = PyDict_GetItemString($input, "summary");
-    if (val) {
-        pkg->summary = PyString_AsString(val);
+    if (val) str = PyString_AsString(val);
+    if (val && str) {
+        pkg->summary = g_string_chunk_insert(pkg->chunk, str);
     }
 
     val = PyDict_GetItemString($input, "description");
-    if (val) {
-        pkg->description = PyString_AsString(val);
+    if (val) str = PyString_AsString(val);
+    if (val && str) {
+        pkg->description = g_string_chunk_insert(pkg->chunk, str);
     }
 
     val = PyDict_GetItemString($input, "url");
-    if (val) {
-        pkg->url = PyString_AsString(val);
+    if (val) str = PyString_AsString(val);
+    if (val && str) {
+        pkg->url = g_string_chunk_insert(pkg->chunk, str);
     }
 
     val = PyDict_GetItemString($input, "time_file");
     pkg->time_build = num;
 
     val = PyDict_GetItemString($input, "rpm_license");
-    if (val) {
-        pkg->rpm_license = PyString_AsString(val);
+    if (val) str = PyString_AsString(val);
+    if (val && str) {
+        pkg->rpm_license = g_string_chunk_insert(pkg->chunk, str);
     }
 
     val = PyDict_GetItemString($input, "rpm_vendor");
-    if (val) {
-        pkg->rpm_vendor = PyString_AsString(val);
+    if (val) str = PyString_AsString(val);
+    if (val && str) {
+        pkg->rpm_vendor = g_string_chunk_insert(pkg->chunk, str);
     }
 
     val = PyDict_GetItemString($input, "rpm_group");
-    if (val) {
-        pkg->rpm_group = PyString_AsString(val);
+    if (val) str = PyString_AsString(val);
+    if (val && str) {
+        pkg->rpm_group = g_string_chunk_insert(pkg->chunk, str);
     }
 
     val = PyDict_GetItemString($input, "rpm_buildhost");
-    if (val) {
-        pkg->rpm_buildhost = PyString_AsString(val);
+    if (val) str = PyString_AsString(val);
+    if (val && str) {
+        pkg->rpm_buildhost = g_string_chunk_insert(pkg->chunk, str);
     }
 
     val = PyDict_GetItemString($input, "rpm_sourcerpm");
-    if (val) {
-        pkg->rpm_sourcerpm = PyString_AsString(val);
+    if (val) str = PyString_AsString(val);
+    if (val && str) {
+        pkg->rpm_sourcerpm = g_string_chunk_insert(pkg->chunk, str);
     }
 
     val = PyDict_GetItemString($input, "rpm_header_start");
     pkg->rpm_header_end = num;
 
     val = PyDict_GetItemString($input, "rpm_packager");
-    if (val) {
-        pkg->rpm_packager = PyString_AsString(val);
+    if (val) str = PyString_AsString(val);
+    if (val && str) {
+        pkg->rpm_packager = g_string_chunk_insert(pkg->chunk, str);
     }
 
     val = PyDict_GetItemString($input, "size_package");
     pkg->size_archive = num;
 
     val = PyDict_GetItemString($input, "location_href");
-    if (val) {
-        pkg->location_href = PyString_AsString(val);
+    if (val) str = PyString_AsString(val);
+    if (val && str) {
+        pkg->location_href = g_string_chunk_insert(pkg->chunk, str);
     }
 
     val = PyDict_GetItemString($input, "location_base");
-    if (val) {
-        pkg->location_base = PyString_AsString(val);
+    if (val) str = PyString_AsString(val);
+    if (val && str) {
+        pkg->location_base = g_string_chunk_insert(pkg->chunk, str);
     }
 
     val = PyDict_GetItemString($input, "checksum_type");
-    if (val) {
-        pkg->checksum_type = PyString_AsString(val);
+    if (val) str = PyString_AsString(val);
+    if (val && str) {
+        pkg->checksum_type = g_string_chunk_insert(pkg->chunk, str);
     }
 
 
                 PyObject *type = PyTuple_GetItem(file_tuple, 1);
                 if (name && type && PyString_Check(name), PyString_Check(type)) {
                     PackageFile *pkg_f = package_file_new();
-                    pkg_f->name = PyString_AsString(name);
-                    pkg_f->type = PyString_AsString(type);
+                    pkg_f->name = g_string_chunk_insert(pkg->chunk, PyString_AsString(name));
+                    pkg_f->type = g_string_chunk_insert(pkg->chunk, PyString_AsString(type));
                     pkg->files = g_slist_append(pkg->files, pkg_f);
                 }
             }
                         continue;
                     }
                     Dependency *pkg_d = dependency_new();
-                    pkg_d->name = PyString_AsString(name);
+                    pkg_d->name = g_string_chunk_insert(pkg->chunk, PyString_AsString(name));
 
                     if (pre && PyInt_Check(pre)) {
                         pkg_d->pre = PyInt_AsLong(pre);
                     if (!flags || !PyString_Check(flags)) {
                         continue;
                     }
-                    pkg_d->flags = PyString_AsString(flags);
+                    pkg_d->flags = g_string_chunk_insert(pkg->chunk, PyString_AsString(flags));
 
                     if (epoch && PyString_Check(epoch)) {
-                        pkg_d->epoch = PyString_AsString(epoch);
+                        pkg_d->epoch = g_string_chunk_insert(pkg->chunk, PyString_AsString(epoch));
                     }
                     if (version && PyString_Check(version)) {
-                        pkg_d->version = PyString_AsString(version);
+                        pkg_d->version = g_string_chunk_insert(pkg->chunk, PyString_AsString(version));
                     }
                     if (release && PyString_Check(release)) {
-                        pkg_d->release = PyString_AsString(release);
+                        pkg_d->release = g_string_chunk_insert(pkg->chunk, PyString_AsString(release));
                     }
 
                     *dep_list = g_slist_append(*dep_list, pkg_d);
                    && PyString_Check(author) && PyString_Check(changelog)) {
                     ChangelogEntry *pkg_ch = changelog_entry_new();
                     pkg_ch->date = PyLong_AsLong(date);
-                    pkg_ch->author = PyString_AsString(author);
-                    pkg_ch->changelog = PyString_AsString(changelog);
+                    pkg_ch->author = g_string_chunk_insert(pkg->chunk, PyString_AsString(author));
+                    pkg_ch->changelog = g_string_chunk_insert(pkg->chunk, PyString_AsString(changelog));
                     pkg->changelogs = g_slist_append(pkg->changelogs, pkg_ch);
                 }
             }