abies           Tue Sep  2 18:19:19 2003 EDT

  Modified files:              
    /php-src/ext/interbase      interbase.c 
  Log:
  CS fixes
  # Boy, these guys are worse than -ansi -pedantic
  
Index: php-src/ext/interbase/interbase.c
diff -u php-src/ext/interbase/interbase.c:1.167 php-src/ext/interbase/interbase.c:1.168
--- php-src/ext/interbase/interbase.c:1.167     Tue Sep  2 15:30:20 2003
+++ php-src/ext/interbase/interbase.c   Tue Sep  2 18:19:18 2003
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: interbase.c,v 1.167 2003/09/02 19:30:20 abies Exp $ */
+/* $Id: interbase.c,v 1.168 2003/09/02 22:19:18 abies Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -706,7 +706,7 @@
 
        php_info_print_table_start();
        php_info_print_table_row(2, "Interbase Support", "enabled");
-       php_info_print_table_row(2, "Revision", "$Revision: 1.167 $");
+       php_info_print_table_row(2, "Revision", "$Revision: 1.168 $");
 #ifdef COMPILE_DL_INTERBASE
        php_info_print_table_row(2, "Dynamic Module", "Yes");
 #endif
@@ -2985,7 +2985,7 @@
 /* }}} */
 #endif
 
-/* {{{ proto int ibase_num_fields(resource query|result)
+/* {{{ proto int ibase_num_fields(resource query_result)
    Get the number of fields in result */
 PHP_FUNCTION(ibase_num_fields)
 {
@@ -3024,68 +3024,85 @@
 /* {{{ static char * _php_ibase_field_type() */
 static char * _php_ibase_field_type(XSQLVAR *var)
 {
-       char buf[32], *s;
-       int precision;
+       char *s = "(unknown type)";
        
-       switch (var->sqltype & ~1) {
-               case SQL_TEXT:      s = "CHAR"; break;
-               case SQL_VARYING:   s = "VARCHAR"; break;
-               case SQL_SHORT:
-                       if (var->sqlscale < 0) {
+       if (var->sqlscale < 0) {
+               char buf[16];
+               unsigned short precision;
+
+               switch (var->sqltype & ~1) {
+
+                       case SQL_SHORT:
                                precision = 4;
-                       } else {
-                               s = "SMALLINT"; 
-                       }
-                       break;
-               case SQL_LONG:
-                       if (var->sqlscale < 0) {
+                               break;
+                       case SQL_LONG:
                                precision = 9;
-                       } else {
-                               s = "INTEGER"; 
-                       }
-                       break;
-               case SQL_FLOAT:     s = "FLOAT"; break;
-               case SQL_DOUBLE:    
-               case SQL_D_FLOAT:   s = "DOUBLE PRECISION"; break;
+                               break;
 #ifdef SQL_INT64
-               case SQL_INT64:     
-                       if (var->sqlscale < 0) {
+                       case SQL_INT64:     
                                precision = 18;
-                       } else {
+                               break;
+#endif
+               }
+               sprintf(buf, "NUMERIC(%d,%d)", precision, -var->sqlscale);
+               return estrdup(buf);
+       } else {
+               switch (var->sqltype & ~1) {
+                       case SQL_TEXT:
+                           s = "CHAR"; 
+                           break;
+                       case SQL_VARYING:
+                               s = "VARCHAR"; 
+                               break;
+                       case SQL_SHORT:
+                               s = "SMALLINT"; 
+                               break;
+                       case SQL_LONG:
+                               s = "INTEGER"; 
+                               break;
+                       case SQL_FLOAT:     
+                               s = "FLOAT"; break;
+                       case SQL_DOUBLE:    
+                       case SQL_D_FLOAT:   
+                               s = "DOUBLE PRECISION"; break;
+#ifdef SQL_INT64
+                       case SQL_INT64:     
                                s = "BIGINT"; 
-                       }
-                       break;
+                               break;
 #endif
 #ifdef SQL_TIMESTAMP
-               case SQL_TIMESTAMP:     s = "TIMESTAMP"; break;
-               case SQL_TYPE_DATE:     s = "DATE"; break;
-               case SQL_TYPE_TIME:     s = "TIME"; break;
+                       case SQL_TIMESTAMP:     
+                               s = "TIMESTAMP"; 
+                               break;
+                       case SQL_TYPE_DATE:
+                               s = "DATE";
+                               break;
+                       case SQL_TYPE_TIME:
+                               s = "TIME"; 
+                               break;
 #else
-               case SQL_DATE:      s = "DATE"; break;
+                       case SQL_DATE:
+                               s = "DATE"; 
+                               break;
 #endif
-               case SQL_BLOB:      s = "BLOB"; break;
-               case SQL_ARRAY:     s = "ARRAY"; break;
-
-                               /* TODO provide more detailed information about the 
field type, field size
-                                  and array dimensions */
-                       
-               case SQL_QUAD:      s = "QUAD"; break;
-
-               default:
-                       sprintf(buf, "unknown (%d)", var->sqltype & ~1);
-                       s = buf;
-                       break;
-       }
-       if (var->sqlscale < 0) {
-               sprintf(buf, "NUMERIC(%d,%d)", precision, -var->sqlscale);
-               s = buf;
+                       case SQL_BLOB:
+                               s = "BLOB"; 
+                               break;
+                       case SQL_ARRAY:
+                               s = "ARRAY";
+                               break;
+                               /* FIXME: provide more detailed information about the 
field type, field size
+                                * and array dimensions */
+                       case SQL_QUAD:
+                               s = "QUAD";
+                               break;
+               }
        }
-       
        return estrdup(s);
 }
 /* }}} */
 
-/* {{{ proto array ibase_field_info(resource query|result, int field_number)
+/* {{{ proto array ibase_field_info(resource query_result, int field_number)
    Get information about a field */
 PHP_FUNCTION(ibase_field_info)
 {

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to