thekid          Sun Feb 15 05:38:58 2004 EDT

  Modified files:              (Branch: PHP_4_3)
    /php-src/ext/sybase_ct      php_sybase_ct.c 
  Log:
  - Changed initialization of function arguments to message handler
  # Hopefully fixes bug #27157 (Compile Failure on Solaris 8), user does
  # not know how to use patch and therefore couldn't verify this works.
  
  
http://cvs.php.net/diff.php/php-src/ext/sybase_ct/php_sybase_ct.c?r1=1.73.2.9&r2=1.73.2.10&ty=u
Index: php-src/ext/sybase_ct/php_sybase_ct.c
diff -u php-src/ext/sybase_ct/php_sybase_ct.c:1.73.2.9 
php-src/ext/sybase_ct/php_sybase_ct.c:1.73.2.10
--- php-src/ext/sybase_ct/php_sybase_ct.c:1.73.2.9      Sun Jan 25 15:14:05 2004
+++ php-src/ext/sybase_ct/php_sybase_ct.c       Sun Feb 15 05:38:57 2004
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_sybase_ct.c,v 1.73.2.9 2004/01/25 20:14:05 thekid Exp $ */
+/* $Id: php_sybase_ct.c,v 1.73.2.10 2004/02/15 10:38:57 thekid Exp $ */
 
 
 #ifdef HAVE_CONFIG_H
@@ -243,30 +243,43 @@
        int handled = 0;
 
        if (callback_name) {
-               zval *retval = NULL;
-               zval severity, msgnumber, state, line, text;
-               zval *ptrs[5]= {&msgnumber, &severity, &state, &line, &text};
-               zval **args[5]= {&ptrs[0], &ptrs[1], &ptrs[2], &ptrs[3], &ptrs[4]};
-
-               INIT_ZVAL(msgnumber);
-               INIT_ZVAL(severity);
-               INIT_ZVAL(state);
-               INIT_ZVAL(line);
-               INIT_ZVAL(text);
-       
-               ZVAL_LONG(&msgnumber, srvmsg->msgnumber);
-               ZVAL_LONG(&severity, srvmsg->severity);
-               ZVAL_LONG(&state, srvmsg->state);
-               ZVAL_LONG(&line, srvmsg->line);
-               ZVAL_STRING(&text, srvmsg->text, 0);
+               zval *msgnumber, *severity, *state, *line, *text, *retval = NULL;
+               zval **args[5];
+
+               MAKE_STD_ZVAL(msgnumber);
+               ZVAL_LONG(msgnumber, srvmsg->msgnumber);
+               args[0] = &msgnumber;
+
+               MAKE_STD_ZVAL(severity);
+               ZVAL_LONG(severity, srvmsg->severity);
+               args[1] = &severity;
+
+               MAKE_STD_ZVAL(state);
+               ZVAL_LONG(state, srvmsg->state);
+               args[2] = &state;
+
+               MAKE_STD_ZVAL(line);
+               ZVAL_LONG(line, srvmsg->line);
+               args[3] = &line;
+
+               MAKE_STD_ZVAL(text);    
+               ZVAL_STRING(text, srvmsg->text, 1);
+               args[4] = &text;
                        
                if (call_user_function_ex(EG(function_table), NULL, callback_name, 
&retval, 5, args, 0, NULL TSRMLS_CC) == FAILURE) {
                        php_error_docref(NULL TSRMLS_CC, E_WARNING, "Sybase:  Cannot 
call the messagehandler %s", Z_STRVAL_P(callback_name));
                }
+
                if (retval) {
                        handled= ((Z_TYPE_P(retval) != IS_BOOL) || (Z_BVAL_P(retval) 
!= 0));
                        zval_ptr_dtor(&retval);
                }
+
+               zval_ptr_dtor(&msgnumber);
+               zval_ptr_dtor(&severity);
+               zval_ptr_dtor(&state);
+               zval_ptr_dtor(&line);
+               zval_ptr_dtor(&text);
        }
 
        return handled;

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

Reply via email to