fmk             Tue Apr  3 11:09:02 2001 EDT

  Modified files:              
    /php4/ext/fbsql     php_fbsql.c 
  Log:
  Fixing crash when listing databsaes
  Fixing rowcount to woirk when the result contains an array og data.
  
Index: php4/ext/fbsql/php_fbsql.c
diff -u php4/ext/fbsql/php_fbsql.c:1.7 php4/ext/fbsql/php_fbsql.c:1.8
--- php4/ext/fbsql/php_fbsql.c:1.7      Thu Mar 22 16:58:59 2001
+++ php4/ext/fbsql/php_fbsql.c  Tue Apr  3 11:09:02 2001
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_fbsql.c,v 1.7 2001/03/23 00:58:59 fmk Exp $ */
+/* $Id: php_fbsql.c,v 1.8 2001/04/03 18:09:02 fmk Exp $ */
 
 /* TODO:
  *
@@ -1745,6 +1745,7 @@
        phpResult->connection  = NULL;
        phpResult->fetchHandle = NULL;
        phpResult->rowHandler  = NULL;
+       phpResult->ResultmetaData    = NULL;
        phpResult->metaData    = NULL;
        phpResult->batchSize   = FB_SQL_G(batchSize);
        phpResult->columnCount = 1;
@@ -1763,11 +1764,11 @@
                phpLink->results     = realloc(phpLink->results,sizeof(PHPFBResult*)* 
phpLink->resultCount);
                for (j=i; j < phpLink->resultCount ; j++)phpLink->results[j] = NULL;
        }
-       phpLink->results[i]     = phpResult;
+       phpLink->results[i] = phpResult;
        return_value->value.lval = phpResult->index;
-       return_value->type       = IS_LONG;
-       FB_SQL_G(resultIndex)      = phpResult->index;
-       FB_SQL_G(linkIndex)        = phpLink->index;
+       return_value->type = IS_LONG;
+       FB_SQL_G(resultIndex) = phpResult->index;
+       FB_SQL_G(linkIndex) = phpLink->index;
 }
 /* }}} */
 
@@ -2447,11 +2448,15 @@
        result = phpfbGetResult(resultIndex);
        if (result == NULL) RETURN_FALSE;
 
-       rowCount = fbcmdRowCount (result->metaData);
-       if (rowCount == -1)
-       {
-               phpfbFetchRow(result,0x7fffffff);
+       if (result->array)
                rowCount = result->rowCount;
+       else {
+               rowCount = fbcmdRowCount(result->metaData);
+               if (rowCount == -1)
+               {
+                       phpfbFetchRow(result,0x7fffffff);
+                       rowCount = result->rowCount;
+               }
        }
        return_value->value.lval = rowCount;
        return_value->type       = IS_LONG;



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to