Diff for /embedaddon/php/ext/sybase_ct/php_sybase_ct.c between versions 1.1.1.1 and 1.1.1.2

version 1.1.1.1, 2012/02/21 23:48:04 version 1.1.1.2, 2012/05/29 12:34:45
Line 1191  static int php_sybase_finish_results(sybase_result *re Line 1191  static int php_sybase_finish_results(sybase_result *re
                 ZVAL_STRINGL(&result, buf, length- 1, 1);       \                  ZVAL_STRINGL(&result, buf, length- 1, 1);       \
         }          }
   
static int php_sybase_fetch_result_row (sybase_result *result, int numrows)static int php_sybase_fetch_result_row(sybase_result *result, int numrows TSRMLS_DC)
 {  {
         int i, j;          int i, j;
         CS_INT retcode;          CS_INT retcode;
         TSRMLS_FETCH();  
                   
         /* We've already fetched everything */          /* We've already fetched everything */
         if (result->last_retcode == CS_END_DATA || result->last_retcode == CS_END_RESULTS) {          if (result->last_retcode == CS_END_DATA || result->last_retcode == CS_END_RESULTS) {
Line 1294  static int php_sybase_fetch_result_row (sybase_result  Line 1293  static int php_sybase_fetch_result_row (sybase_result 
         return retcode;          return retcode;
 }  }
   
static sybase_result * php_sybase_fetch_result_set (sybase_link *sybase_ptr, int buffered, int store)static sybase_result * php_sybase_fetch_result_set(sybase_link *sybase_ptr, int buffered, int store TSRMLS_DC)
 {  {
         int num_fields;          int num_fields;
         sybase_result *result;          sybase_result *result;
Line 1413  static sybase_result * php_sybase_fetch_result_set (sy Line 1412  static sybase_result * php_sybase_fetch_result_set (sy
         if (buffered) {          if (buffered) {
                 retcode = CS_SUCCEED;                  retcode = CS_SUCCEED;
         } else {          } else {
                if ((retcode = php_sybase_fetch_result_row(result, -1)) == CS_FAIL) {                if ((retcode = php_sybase_fetch_result_row(result, -1 TSRMLS_CC)) == CS_FAIL) {
                         return NULL;                          return NULL;
                 }                  }
         }          }
Line 1550  static void php_sybase_query (INTERNAL_FUNCTION_PARAME Line 1549  static void php_sybase_query (INTERNAL_FUNCTION_PARAME
                         case CS_PARAM_RESULT:                          case CS_PARAM_RESULT:
                         case CS_ROW_RESULT:                          case CS_ROW_RESULT:
                         case CS_STATUS_RESULT:                          case CS_STATUS_RESULT:
                                result = php_sybase_fetch_result_set(sybase_ptr, buffered, store);                                result = php_sybase_fetch_result_set(sybase_ptr, buffered, store TSRMLS_CC);
                                 if (result == NULL) {                                  if (result == NULL) {
                                         ct_cancel(NULL, sybase_ptr->cmd, CS_CANCEL_ALL);                                          ct_cancel(NULL, sybase_ptr->cmd, CS_CANCEL_ALL);
                                         RETURN_FALSE;                                          RETURN_FALSE;
Line 1576  static void php_sybase_query (INTERNAL_FUNCTION_PARAME Line 1575  static void php_sybase_query (INTERNAL_FUNCTION_PARAME
                                         case CS_PARAM_RESULT:                                          case CS_PARAM_RESULT:
                                         case CS_ROW_RESULT:                                          case CS_ROW_RESULT:
                                                 if (status != Q_RESULT) {                                                  if (status != Q_RESULT) {
                                                        result = php_sybase_fetch_result_set(sybase_ptr, buffered, store);                                                        result = php_sybase_fetch_result_set(sybase_ptr, buffered, store TSRMLS_CC);
                                                         if (result == NULL) {                                                          if (result == NULL) {
                                                                 ct_cancel(NULL, sybase_ptr->cmd, CS_CANCEL_ALL);                                                                  ct_cancel(NULL, sybase_ptr->cmd, CS_CANCEL_ALL);
                                                                 sybase_ptr->dead = 1;                                                                  sybase_ptr->dead = 1;
Line 1768  PHP_FUNCTION(sybase_fetch_row) Line 1767  PHP_FUNCTION(sybase_fetch_row)
   
         /* Unbuffered? */          /* Unbuffered? */
         if (result->last_retcode != CS_END_DATA && result->last_retcode != CS_END_RESULTS) {          if (result->last_retcode != CS_END_DATA && result->last_retcode != CS_END_RESULTS) {
                php_sybase_fetch_result_row(result, 1);                php_sybase_fetch_result_row(result, 1 TSRMLS_CC);
         }          }
                   
         /* At the end? */          /* At the end? */
Line 1804  static void php_sybase_fetch_hash(INTERNAL_FUNCTION_PA Line 1803  static void php_sybase_fetch_hash(INTERNAL_FUNCTION_PA
   
         /* Unbuffered ? Fetch next row */          /* Unbuffered ? Fetch next row */
         if (result->last_retcode != CS_END_DATA && result->last_retcode != CS_END_RESULTS) {          if (result->last_retcode != CS_END_DATA && result->last_retcode != CS_END_RESULTS) {
                php_sybase_fetch_result_row(result, 1);                php_sybase_fetch_result_row(result, 1 TSRMLS_CC);
         }          }
   
         /* At the end? */          /* At the end? */
Line 1819  static void php_sybase_fetch_hash(INTERNAL_FUNCTION_PA Line 1818  static void php_sybase_fetch_hash(INTERNAL_FUNCTION_PA
                 ALLOC_ZVAL(tmp);                  ALLOC_ZVAL(tmp);
                 *tmp = result->data[result->store ? result->cur_row : 0][i];                  *tmp = result->data[result->store ? result->cur_row : 0][i];
                 INIT_PZVAL(tmp);                  INIT_PZVAL(tmp);
                if (PG(magic_quotes_runtime) && Z_TYPE_P(tmp) == IS_STRING) {                zval_copy_ctor(tmp);
                        Z_STRVAL_P(tmp) = php_addslashes(Z_STRVAL_P(tmp), Z_STRLEN_P(tmp), &Z_STRLEN_P(tmp), 0 TSRMLS_CC); 
                } else { 
                        zval_copy_ctor(tmp); 
                } 
                 if (numerics) {                  if (numerics) {
                         zend_hash_index_update(Z_ARRVAL_P(return_value), i, (void *) &tmp, sizeof(zval *), NULL);                          zend_hash_index_update(Z_ARRVAL_P(return_value), i, (void *) &tmp, sizeof(zval *), NULL);
                         Z_ADDREF_P(tmp);                          Z_ADDREF_P(tmp);
Line 1922  PHP_FUNCTION(sybase_data_seek) Line 1917  PHP_FUNCTION(sybase_data_seek)
   
         /* Unbuffered ? */          /* Unbuffered ? */
         if (result->last_retcode != CS_END_DATA && result->last_retcode != CS_END_RESULTS && offset >= result->num_rows) {          if (result->last_retcode != CS_END_DATA && result->last_retcode != CS_END_RESULTS && offset >= result->num_rows) {
                php_sybase_fetch_result_row(result, offset+ 1);                php_sybase_fetch_result_row(result, offset+ 1 TSRMLS_CC);
         }          }
                   
         if (offset < 0 || offset >= result->num_rows) {          if (offset < 0 || offset >= result->num_rows) {
Line 2056  PHP_FUNCTION(sybase_result) Line 2051  PHP_FUNCTION(sybase_result)
                   
         /* Unbuffered ? */          /* Unbuffered ? */
         if (result->last_retcode != CS_END_DATA && result->last_retcode != CS_END_RESULTS && row >= result->num_rows) {          if (result->last_retcode != CS_END_DATA && result->last_retcode != CS_END_RESULTS && row >= result->num_rows) {
                php_sybase_fetch_result_row(result, row);                php_sybase_fetch_result_row(result, row TSRMLS_CC);
         }          }
   
         if (row < 0 || row >= result->num_rows) {          if (row < 0 || row >= result->num_rows) {

Removed from v.1.1.1.1  
changed lines
  Added in v.1.1.1.2


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>