[63431] trunk/base/src/cregistry/entry.c

jmr at macports.org jmr at macports.org
Thu Feb 4 16:30:44 PST 2010


Revision: 63431
          http://trac.macports.org/changeset/63431
Author:   jmr at macports.org
Date:     2010-02-04 16:30:43 -0800 (Thu, 04 Feb 2010)
Log Message:
-----------
cregistry fixes/cleanup

Modified Paths:
--------------
    trunk/base/src/cregistry/entry.c

Modified: trunk/base/src/cregistry/entry.c
===================================================================
--- trunk/base/src/cregistry/entry.c	2010-02-05 00:02:52 UTC (rev 63430)
+++ trunk/base/src/cregistry/entry.c	2010-02-05 00:30:43 UTC (rev 63431)
@@ -204,9 +204,9 @@
             && (sqlite3_bind_text(stmt, 5, epoch, -1, SQLITE_STATIC)
                 == SQLITE_OK)) {
         int r;
+        Tcl_HashEntry* hash;
+        int is_new;
         do {
-            Tcl_HashEntry* hash;
-            int is_new;
             r = sqlite3_step(stmt);
             switch (r) {
                 case SQLITE_DONE:
@@ -675,15 +675,20 @@
     int result = 0;
     sqlite3_stmt* stmt;
     char* query;
+    const char *text;
     query = sqlite3_mprintf("SELECT %q FROM registry.ports WHERE id=%lld", key,
             entry->id);
     if (sqlite3_prepare(reg->db, query, -1, &stmt, NULL) == SQLITE_OK) {
-        int r = sqlite3_step(stmt);
+        int r;
         do {
+            r = sqlite3_step(stmt);
             switch (r) {
                 case SQLITE_ROW:
-                    *value = strdup((const char*)sqlite3_column_text(stmt, 0));
-                    result = 1;
+                    text = (const char*)sqlite3_column_text(stmt, 0);
+                    if (text) {
+                        *value = strdup(text);
+                        result = 1;
+                    }
                     break;
                 case SQLITE_DONE:
                     errPtr->code = REG_INVALID;
@@ -884,14 +889,18 @@
         int result_count = 0;
         int result_space = 10;
         int r;
+        const char *text;
+        char* element;
         do {
-            char* element;
             r = sqlite3_step(stmt);
             switch (r) {
                 case SQLITE_ROW:
-                    element = strdup((const char*)sqlite3_column_text(stmt, 0));
-                    reg_listcat((void***)&result, &result_count, &result_space,
-                            element);
+                    text = (const char*)sqlite3_column_text(stmt, 0);
+                    if (text) {
+                        element = strdup(text);
+                        reg_listcat((void***)&result, &result_count, &result_space,
+                                element);
+                    }
                     break;
                 case SQLITE_DONE:
                 case SQLITE_BUSY:
@@ -942,14 +951,18 @@
         int result_count = 0;
         int result_space = 10;
         int r;
+        const char *text;
+        char* element;
         do {
-            char* element;
             r = sqlite3_step(stmt);
             switch (r) {
                 case SQLITE_ROW:
-                    element = strdup((const char*)sqlite3_column_text(stmt, 0));
-                    reg_listcat((void***)&result, &result_count, &result_space,
-                            element);
+                    text = (const char*)sqlite3_column_text(stmt, 0);
+                    if (text) {
+                        element = strdup(text);
+                        reg_listcat((void***)&result, &result_count, &result_space,
+                                element);
+                    }
                     break;
                 case SQLITE_DONE:
                 case SQLITE_BUSY:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20100204/a0e82060/attachment.html>


More information about the macports-changes mailing list