diff options
author | Remi Collet <remi@remirepo.net> | 2022-05-31 10:56:12 +0200 |
---|---|---|
committer | Remi Collet <remi@php.net> | 2022-05-31 10:56:12 +0200 |
commit | 1dd1405fef395999392e5a17368abf5f7802f564 (patch) | |
tree | a05673a4c80dc213d335ac000142b84b67039f48 /stomp-upstream.patch | |
parent | 8201344d7fcb634713b76d4cae38f6f38a923afb (diff) |
update to 2.0.3
Diffstat (limited to 'stomp-upstream.patch')
-rw-r--r-- | stomp-upstream.patch | 1743 |
1 files changed, 0 insertions, 1743 deletions
diff --git a/stomp-upstream.patch b/stomp-upstream.patch deleted file mode 100644 index c356df7..0000000 --- a/stomp-upstream.patch +++ /dev/null @@ -1,1743 +0,0 @@ -From 7b066620afe3368662e316e86242d0087de8a44e Mon Sep 17 00:00:00 2001 -From: Peter Kokot <peterkokot@gmail.com> -Date: Sat, 30 Jun 2018 16:44:34 +0200 -Subject: [PATCH] Remove unused Git attributes ident - -The $Id$ keywords were used in Subversion where they can be substituted -with filename, last revision number change, last changed date, and last -user who changed it. - -In Git this functionality is different and can be done with Git attribute -ident. These need to be defined manually for each file in the -.gitattributes file and are afterwards replaced with 40-character -hexadecimal blob object name which is based only on the particular file -contents. - -This patch simplifes handling of $Id$ keywords by removing them since -they are not used anymore. ---- - config.m4 | 1 - - config.w32 | 1 - - php_stomp.c | 2 -- - php_stomp.h | 2 -- - stomp.c | 2 -- - stomp.h | 2 -- - 6 files changed, 10 deletions(-) - -diff --git a/config.m4 b/config.m4 -index 8a9c36b..f700f27 100644 ---- a/config.m4 -+++ b/config.m4 -@@ -1,4 +1,3 @@ --dnl $Id$ - dnl config.m4 for extension stomp - - PHP_ARG_ENABLE(stomp, whether to enable stomp support, -diff --git a/config.w32 b/config.w32 -index 091e00b..ba3096b 100644 ---- a/config.w32 -+++ b/config.w32 -@@ -1,4 +1,3 @@ --// $Id$ - // vim:ft=javascript - - ARG_ENABLE("stomp", "enable stomp support", "no"); -diff --git a/php_stomp.c b/php_stomp.c -index 9442011..080298f 100644 ---- a/php_stomp.c -+++ b/php_stomp.c -@@ -16,8 +16,6 @@ - +----------------------------------------------------------------------+ - */ - --/* $Id$ */ -- - #ifdef HAVE_CONFIG_H - #include "config.h" - #endif -diff --git a/php_stomp.h b/php_stomp.h -index b799119..805b9f6 100644 ---- a/php_stomp.h -+++ b/php_stomp.h -@@ -16,8 +16,6 @@ - +----------------------------------------------------------------------+ - */ - --/* $Id$ */ -- - #ifndef PHP_STOMP_H - #define PHP_STOMP_H - -diff --git a/stomp.c b/stomp.c -index 2f71606..d83a4e6 100644 ---- a/stomp.c -+++ b/stomp.c -@@ -16,8 +16,6 @@ - +----------------------------------------------------------------------+ - */ - --/* $Id$ */ -- - #ifdef HAVE_CONFIG_H - #include "config.h" - #endif -diff --git a/stomp.h b/stomp.h -index a47787f..19bd8dd 100644 ---- a/stomp.h -+++ b/stomp.h -@@ -16,8 +16,6 @@ - +----------------------------------------------------------------------+ - */ - --/* $Id$ */ -- - #ifndef _STOMP_H_ - #define _STOMP_H_ - - -From 684706756972bb75fec025ec9d66c3fc99ed5199 Mon Sep 17 00:00:00 2001 -From: Peter Kokot <peterkokot@gmail.com> -Date: Wed, 3 Oct 2018 09:43:57 +0200 -Subject: [PATCH] Trim trailing whitespace - ---- - LICENSE | 26 ++++----- - README | 2 +- - TODO | 2 +- - config.m4 | 2 +- - doc/classes.php | 48 ++++++++-------- - doc/functions.php | 44 +++++++-------- - php_stomp.c | 94 ++++++++++++++++---------------- - php_stomp.h | 4 +- - stomp.h | 4 +- - tests/002-version.phpt | 2 +- - tests/003-connect/001.phpt | 2 +- - tests/003-connect/002.phpt | 4 +- - tests/003-connect/003.phpt | 2 +- - tests/004-getSessionId/001.phpt | 4 +- - tests/005-close/001.phpt | 4 +- - tests/005-close/002.phpt | 4 +- - tests/006-send/001.phpt | 2 +- - tests/006-send/002.phpt | 2 +- - tests/006-send/003.phpt | 2 +- - tests/007-subscribe/001.phpt | 2 +- - tests/008-unsubscribe/001.phpt | 2 +- - tests/009-readFrame/001.phpt | 2 +- - tests/009-readFrame/003.phpt | 4 +- - tests/009-readFrame/004.phpt | Bin 433 -> 432 bytes - tests/009-readFrame/006.phpt | 2 +- - tests/010-timeout/001.phpt | 4 +- - tests/010-timeout/002.phpt | 4 +- - tests/011-commit/001.phpt | 2 +- - tests/skipif.inc | 2 +- - 29 files changed, 139 insertions(+), 139 deletions(-) - -diff --git a/LICENSE b/LICENSE -index 6059c80..92ee907 100644 ---- a/LICENSE -+++ b/LICENSE -@@ -1,7 +1,7 @@ ---------------------------------------------------------------------- -+-------------------------------------------------------------------- - The PHP License, version 3.01 - Copyright (c) 1999 - 2014 The PHP Group. All rights reserved. ---------------------------------------------------------------------- -+-------------------------------------------------------------------- - - Redistribution and use in source and binary forms, with or without - modification, is permitted provided that the following conditions -@@ -9,22 +9,22 @@ are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -- -+ - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. -- -+ - 3. The name "PHP" must not be used to endorse or promote products - derived from this software without prior written permission. For - written permission, please contact group@php.net. -- -+ - 4. Products derived from this software may not be called "PHP", nor - may "PHP" appear in their name, without prior written permission - from group@php.net. You may indicate that your software works in - conjunction with PHP by saying "Foo for PHP" instead of calling - it "PHP Foo" or "phpfoo" -- -+ - 5. The PHP Group may publish revised and/or new versions of the - license from time to time. Each version will be given a - distinguishing version number. -@@ -41,27 +41,27 @@ are met: - "This product includes PHP software, freely available from - <http://www.php.net/software/>". - --THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND -+THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND - ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, --THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A - PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PHP --DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, --INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES --(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -+DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - OF THE POSSIBILITY OF SUCH DAMAGE. - ---------------------------------------------------------------------- -+-------------------------------------------------------------------- - - This software consists of voluntary contributions made by many - individuals on behalf of the PHP Group. - - The PHP Group can be contacted via Email at group@php.net. - --For more information on the PHP Group and the PHP project, -+For more information on the PHP Group and the PHP project, - please see <http://www.php.net>. - - PHP includes the Zend Engine, freely available at -diff --git a/README b/README -index 6511d8b..a0c1953 100644 ---- a/README -+++ b/README -@@ -1,7 +1,7 @@ - stomp - ===== - --This extension allows php applications to communicate with any Stomp compliant Message Broker(s) through easy object -+This extension allows php applications to communicate with any Stomp compliant Message Broker(s) through easy object - oriented and procedural interfaces. - - This extension currently implements STOMP 1.0 protocol: https://stomp.github.io/stomp-specification-1.0.html -diff --git a/config.m4 b/config.m4 -index f700f27..cbeb71b 100644 ---- a/config.m4 -+++ b/config.m4 -@@ -16,7 +16,7 @@ if test "$PHP_STOMP" != "no"; then - [ - AC_DEFINE(HAVE_STOMP_SSL,1,[ ]) - ], [ -- AC_MSG_ERROR([OpenSSL libraries not found. -+ AC_MSG_ERROR([OpenSSL libraries not found. - - Check the path given to --with-openssl-dir and output in config.log) - ]) -diff --git a/doc/classes.php b/doc/classes.php -index 0cfc554..06c50a0 100644 ---- a/doc/classes.php -+++ b/doc/classes.php -@@ -4,7 +4,7 @@ class Stomp { - - /** - * Connect to server -- * -+ * - * @param string $broker The broker URI - * @param string $username The username - * @param string $password The password -@@ -15,7 +15,7 @@ public function __construct($broker = null, $username = null, $password = null, - - /** - * Get the current stomp session ID -- * -+ * - * @return string stomp session ID if it exists, or FALSE otherwise - */ - public function getSessionId() { -@@ -24,28 +24,28 @@ public function getSessionId() { - /** - * Close stomp connection - * -- * @return boolean TRUE on success, or FALSE on failure -+ * @return boolean TRUE on success, or FALSE on failure - */ - public function disconnect() { - } - -- /** -+ /** - * Sends a message to a destination in the messaging system -- * -- * @param string $destination indicates where to send the message -+ * -+ * @param string $destination indicates where to send the message - * @param string|StompFrame $msg message to be sent - * @param array $headers additional headers (example: receipt). -- * @return boolean TRUE on success, or FALSE on failure -+ * @return boolean TRUE on success, or FALSE on failure - */ - public function send($destination, $msg, array $headers = array()) { - } - - /** - * Register to listen to a given destination -- * -- * @param string $destination indicates which destination to subscribe to -+ * -+ * @param string $destination indicates which destination to subscribe to - * @param array $headers additional headers (example: receipt). -- * @return boolean TRUE on success, or FALSE on failure -+ * @return boolean TRUE on success, or FALSE on failure - */ - public function subscribe($destination, array $headers = array()) { - } -@@ -55,14 +55,14 @@ public function subscribe($destination, array $headers = array()) { - * - * @param string $destination indicates which subscription to remove - * @param array $headers additional headers (example: receipt). -- * @return boolean TRUE on success, or FALSE on failure -+ * @return boolean TRUE on success, or FALSE on failure - */ - public function unsubscribe($destination, array $headers = array()) { - } - - /** - * Indicate whether or not there is a frame ready to read -- * -+ * - * @return boolean TRUE if there is one, or FALSE otherwise - */ - public function hasFrame() { -@@ -81,7 +81,7 @@ public function readFrame($className = 'stompFrame') { - * Start a transaction - * - * @param string $transaction_id transaction id -- * @return boolean TRUE on success, or FALSE on failure -+ * @return boolean TRUE on success, or FALSE on failure - */ - public function begin($transaction_id) { - } -@@ -90,26 +90,26 @@ public function begin($transaction_id) { - * Commit a transaction in progress - * - * @param string $transaction_id transaction id -- * @return boolean TRUE on success, or FALSE on failure -+ * @return boolean TRUE on success, or FALSE on failure - */ -- public function commit($transaction_id) { -+ public function commit($transaction_id) { - } - - /** - * Roll back a transaction in progress - * - * @param string $transaction_id transaction id -- * @return boolean TRUE on success, or FALSE on failure -+ * @return boolean TRUE on success, or FALSE on failure - */ - public function abort($transaction_id) { - } - - /** - * Acknowledge consumption of a message from a subscription using client acknowledgment -- * -+ * - * @param string|StompFrame $msg message/messageId to be acknowledged - * @param array $headers additional headers (example: receipt). -- * @return boolean TRUE on success, or FALSE on failure -+ * @return boolean TRUE on success, or FALSE on failure - */ - public function ack($msg, array $headers = array()) { - } -@@ -124,7 +124,7 @@ public function error() { - - /** - * Set timeout -- * -+ * - * @param int $seconds the seconds part of the timeout to be set - * @param int $microseconds the microseconds part of the timeout to be set - * @return void -@@ -134,16 +134,16 @@ public function setTimeout($seconds, $microseconds = 0) { - - /** - * Get timeout -- * -+ * - * @return array Array with timeout informations - */ - public function getTimeout() { -- } -+ } - - } - - class StompFrame { -- -+ - /** - * Frame Command - * @var String -@@ -164,11 +164,11 @@ class StompFrame { - } - - class StompException extends Exception { -- -+ - /** - * Get the stomp server error details - * -- * @return string -+ * @return string - */ - public function getDetails() { - } -diff --git a/doc/functions.php b/doc/functions.php -index 98486fc..57ae424 100644 ---- a/doc/functions.php -+++ b/doc/functions.php -@@ -2,7 +2,7 @@ - - /** - * Get the current version of the stomp extension -- * -+ * - * @return string version - */ - function stomp_version() { -@@ -10,19 +10,19 @@ function stomp_version() { - - /** - * Connect to server -- * -+ * - * @param string $broker broker URI - * @param string $username The username - * @param string $password The password - * @param array $headers additional headers (example: receipt). -- * @return Ressource stomp connection identifier on success, or FALSE on failure -+ * @return Ressource stomp connection identifier on success, or FALSE on failure - */ - function stomp_connect($broker = null, $username = null, $password = null, array $headers = array()) { - } - - /** - * Get the current stomp session ID -- * -+ * - * @param ressource $link identifier returned by stomp_connect - * @return string stomp session ID if it exists, or FALSE otherwise - */ -@@ -33,30 +33,30 @@ function stomp_get_session_id($link) { - * Close stomp connection - * - * @param ressource $link identifier returned by stomp_connect -- * @return boolean TRUE on success, or FALSE on failure -+ * @return boolean TRUE on success, or FALSE on failure - */ - function stomp_close($link) { - } - --/** -+/** - * Sends a message to a destination in the messaging system -- * -+ * - * @param ressource $link identifier returned by stomp_connect -- * @param string $destination indicates where to send the message -+ * @param string $destination indicates where to send the message - * @param string|StompFrame $msg message to be sent - * @param array $headers additional headers (example: receipt). -- * @return boolean TRUE on success, or FALSE on failure -+ * @return boolean TRUE on success, or FALSE on failure - */ - function stomp_send($link, $destination, $msg, array $headers = array()) { - } - - /** - * Register to listen to a given destination -- * -+ * - * @param ressource $link identifier returned by stomp_connect -- * @param string $destination indicates which destination to subscribe to -+ * @param string $destination indicates which destination to subscribe to - * @param array $headers additional headers (example: receipt). -- * @return boolean TRUE on success, or FALSE on failure -+ * @return boolean TRUE on success, or FALSE on failure - */ - function stomp_subscribe($link, $destination, array $headers = array()) { - } -@@ -67,14 +67,14 @@ function stomp_subscribe($link, $destination, array $headers = array()) { - * @param ressource $link identifier returned by stomp_connect - * @param string $destination indicates which subscription to remove - * @param array $headers additional headers (example: receipt). -- * @return boolean TRUE on success, or FALSE on failure -+ * @return boolean TRUE on success, or FALSE on failure - */ - function stomp_unsubscribe($link, $destination, array $headers = array()) { - } - - /** - * Indicate whether or not there is a frame ready to read -- * -+ * - * @param ressource $link identifier returned by stomp_connect - * @return boolean TRUE if there is one, or FALSE otherwise - */ -@@ -95,7 +95,7 @@ function stomp_read_frame($link) { - * - * @param ressource $link identifier returned by stomp_connect - * @param string $transaction_id transaction id -- * @return boolean TRUE on success, or FALSE on failure -+ * @return boolean TRUE on success, or FALSE on failure - */ - function stomp_begin($link, $transaction_id) { - } -@@ -105,9 +105,9 @@ function stomp_begin($link, $transaction_id) { - * - * @param ressource $link identifier returned by stomp_connect - * @param string $transaction_id transaction id -- * @return boolean TRUE on success, or FALSE on failure -+ * @return boolean TRUE on success, or FALSE on failure - */ --function stomp_commit($link, $transaction_id) { -+function stomp_commit($link, $transaction_id) { - } - - /** -@@ -115,18 +115,18 @@ function stomp_commit($link, $transaction_id) { - * - * @param ressource $link identifier returned by stomp_connect - * @param string $transaction_id transaction id -- * @return boolean TRUE on success, or FALSE on failure -+ * @return boolean TRUE on success, or FALSE on failure - */ - function stomp_abort($link, $transaction_id) { - } - - /** - * Acknowledge consumption of a message from a subscription using client acknowledgment -- * -+ * - * @param ressource $link identifier returned by stomp_connect - * @param string|StompFrame $msg message/messageId to be acknowledged - * @param array $headers additional headers (example: receipt). -- * @return boolean TRUE on success, or FALSE on failure -+ * @return boolean TRUE on success, or FALSE on failure - */ - function stomp_ack($link, $msg, array $headers = array()) { - } -@@ -142,7 +142,7 @@ function stomp_error($link) { - - /** - * Set timeout -- * -+ * - * @param ressource $link identifier returned by stomp_connect - * @param int $seconds the seconds part of the timeout to be set - * @param int $microseconds the microseconds part of the timeout to be set -@@ -153,7 +153,7 @@ function stomp_set_timeout($link, $seconds, $microseconds = 0) { - - /** - * Get timeout -- * -+ * - * @param ressource $link identifier returned by stomp_connect - * @return array Array with timeout informations - */ -diff --git a/php_stomp.c b/php_stomp.c -index 080298f..0dcefed 100644 ---- a/php_stomp.c -+++ b/php_stomp.c -@@ -83,7 +83,7 @@ - STOMP_G(error_msg) = estrdup(msg); \ - if (stomp_object) { \ - zend_throw_exception_ex(stomp_ce_exception, errno , msg); \ -- } -+ } - - #define STOMP_ERROR_DETAILS(errno, msg, details) \ - STOMP_G(error_no) = errno; \ -@@ -157,7 +157,7 @@ ZEND_ARG_ARRAY_INFO(0, headers, 1) - ZEND_END_ARG_INFO() - - ZEND_BEGIN_ARG_INFO_EX(stomp_readframe_args, 0, 0, 1) --ZEND_ARG_INFO(0, link) -+ZEND_ARG_INFO(0, link) - ZEND_ARG_INFO(0, class_name) - ZEND_END_ARG_INFO() - -@@ -213,7 +213,7 @@ ZEND_BEGIN_ARG_INFO_EX(stomp_frame_construct_args, 0, 0, 0) - ZEND_ARG_INFO(0, command) - ZEND_ARG_ARRAY_INFO(0, headers, 1) - ZEND_ARG_INFO(0, body) --ZEND_END_ARG_INFO() -+ZEND_END_ARG_INFO() - /* }}} */ - - /* {{{ stomp_functions */ -@@ -267,7 +267,7 @@ static zend_function_entry stomp_frame_methods[] = { - PHP_ME(stompframe, __construct, stomp_frame_construct_args, ZEND_ACC_PUBLIC) - {NULL, NULL, NULL} - }; --/* }}} */ -+/* }}} */ - - /* {{{ stomp_exception_methods[] */ - static zend_function_entry stomp_exception_methods[] = { -@@ -283,7 +283,7 @@ zend_module_entry stomp_module_entry = { - stomp_functions, - PHP_MINIT(stomp), - PHP_MSHUTDOWN(stomp), -- PHP_RINIT(stomp), -+ PHP_RINIT(stomp), - PHP_RSHUTDOWN(stomp), - PHP_MINFO(stomp), - PHP_STOMP_VERSION, -@@ -330,9 +330,9 @@ ZEND_GET_MODULE(stomp) - /* {{{ constructor/destructor */ - static void stomp_send_disconnect(stomp_t *stomp) - { -- stomp_frame_t frame = {0}; -+ stomp_frame_t frame = {0}; - INIT_FRAME(frame, "DISCONNECT"); -- -+ - stomp_send(stomp, &frame ); - CLEAR_FRAME(frame); - } -@@ -342,7 +342,7 @@ static void php_destroy_stomp_res(zend_resource *rsrc) - stomp_t *stomp = (stomp_t *) rsrc->ptr; - stomp_send_disconnect(stomp ); - stomp_close(stomp); --} -+} - - static zend_object *php_stomp_new(zend_class_entry *ce) - { -@@ -350,7 +350,7 @@ static zend_object *php_stomp_new(zend_class_entry *ce) - - intern = (stomp_object_t *) ecalloc(1, sizeof(stomp_object_t) + zend_object_properties_size(ce)); - intern->stomp = NULL; -- -+ - zend_object_std_init(&intern->std, ce ); - - intern->std.handlers = &stomp_obj_handlers; -@@ -381,7 +381,7 @@ PHP_MINIT_FUNCTION(stomp) - /* Properties */ - zend_declare_property_null(stomp_ce_frame, "command", sizeof("command")-1, ZEND_ACC_PUBLIC ); - zend_declare_property_null(stomp_ce_frame, "headers", sizeof("headers")-1, ZEND_ACC_PUBLIC ); -- zend_declare_property_null(stomp_ce_frame, "body", sizeof("body")-1, ZEND_ACC_PUBLIC ); -+ zend_declare_property_null(stomp_ce_frame, "body", sizeof("body")-1, ZEND_ACC_PUBLIC ); - - /* Register StompException class */ - INIT_CLASS_ENTRY(ce, PHP_STOMP_EXCEPTION_CLASSNAME, stomp_exception_methods); -@@ -399,7 +399,7 @@ PHP_MINIT_FUNCTION(stomp) - - /* {{{ PHP_MSHUTDOWN_FUNCTION */ - PHP_MSHUTDOWN_FUNCTION(stomp) --{ -+{ - /* Unregister INI entries */ - UNREGISTER_INI_ENTRIES(); - return SUCCESS; -@@ -443,9 +443,9 @@ PHP_MINFO_FUNCTION(stomp) - } - /* }}} */ - --/* {{{ proto string stomp_version() -+/* {{{ proto string stomp_version() - Get stomp extension version */ --PHP_FUNCTION(stomp_version) -+PHP_FUNCTION(stomp_version) - { - RETURN_STRINGL(PHP_STOMP_VERSION, sizeof(PHP_STOMP_VERSION)-1); - } -@@ -461,9 +461,9 @@ PHP_FUNCTION(stomp_connect) - zend_string *broker = NULL, *username = NULL, *password = NULL; - php_url *url_parts; - --#ifdef HAVE_STOMP_SSL -+#ifdef HAVE_STOMP_SSL - int use_ssl = 0; --#endif -+#endif - - if (zend_parse_parameters(ZEND_NUM_ARGS() , "|SSSa!", &broker, &username, &password, &headers) == FAILURE) { - return; -@@ -478,7 +478,7 @@ PHP_FUNCTION(stomp_connect) - } - - url_parts = php_url_parse_ex(ZSTR_VAL(broker), ZSTR_LEN(broker)); -- -+ - if (!url_parts || !url_parts->host) { - STOMP_ERROR(0, PHP_STOMP_ERR_INVALID_BROKER_URI); - zend_string_release(broker); -@@ -495,7 +495,7 @@ PHP_FUNCTION(stomp_connect) - STOMP_ERROR(0, "SSL DISABLED"); - php_url_free(url_parts); - return; --#endif -+#endif - } else if (strcmp(STOMP_URL_STR(url_parts->scheme), "tcp") != 0) { - STOMP_ERROR(0, PHP_STOMP_ERR_INVALID_BROKER_URI_SCHEME); - php_url_free(url_parts); -@@ -507,7 +507,7 @@ PHP_FUNCTION(stomp_connect) - - #if HAVE_STOMP_SSL - stomp->options.use_ssl = use_ssl; --#endif -+#endif - - stomp->options.read_timeout_sec = STOMP_G(read_timeout_sec); - stomp->options.read_timeout_usec = STOMP_G(read_timeout_usec); -@@ -522,7 +522,7 @@ PHP_FUNCTION(stomp_connect) - stomp_frame_t *res; - stomp_frame_t frame = {0}; - int send_status; -- -+ - INIT_FRAME(frame, "CONNECT"); - if (!username) { - username = zend_string_init(STOMP_G(default_username), strlen(STOMP_G(default_username)), 0); -@@ -548,7 +548,7 @@ PHP_FUNCTION(stomp_connect) - ZVAL_STR(&rv, zend_string_copy(password)); - zend_hash_str_add(frame.headers, "passcode", sizeof("passcode"), &rv); - } -- -+ - zend_string_release(username); - zend_string_release(password); - -@@ -607,7 +607,7 @@ PHP_FUNCTION(stomp_connect) - i_obj->stomp = stomp; - RETURN_TRUE; - } -- } -+ } - } else { - STOMP_ERROR_DETAILS(0, stomp->error, stomp->error_details); - } -@@ -617,9 +617,9 @@ PHP_FUNCTION(stomp_connect) - } - /* }}} */ - --/* {{{ proto string stomp_connect_error() -+/* {{{ proto string stomp_connect_error() - Get the last connection error */ --PHP_FUNCTION(stomp_connect_error) -+PHP_FUNCTION(stomp_connect_error) - { - if (STOMP_G(error_msg)) { - RETURN_STRING(STOMP_G(error_msg)); -@@ -629,7 +629,7 @@ PHP_FUNCTION(stomp_connect_error) - } - /* }}} */ - --/* {{{ proto string Stomp::getSessionId() -+/* {{{ proto string Stomp::getSessionId() - Get the current stomp session ID */ - PHP_FUNCTION(stomp_get_session_id) - { -@@ -695,13 +695,13 @@ PHP_FUNCTION(stomp_send) - stomp_t *stomp = NULL; - zend_string *destination; - zval *msg, *headers = NULL, rv; -- stomp_frame_t frame = {0}; -+ stomp_frame_t frame = {0}; - int success = 0; - - if (stomp_object) { - if (zend_parse_parameters(ZEND_NUM_ARGS() , "Sz|a!", &destination, &msg, &headers) == FAILURE) { - return; -- } -+ } - FETCH_STOMP_OBJECT; - } else { - zval *arg; -@@ -718,7 +718,7 @@ PHP_FUNCTION(stomp_send) - } - - INIT_FRAME(frame, "SEND"); -- -+ - /* Translate a PHP array to a stomp_header array */ - if (NULL != headers) { - FRAME_HEADER_FROM_HASHTABLE(frame.headers, Z_ARRVAL_P(headers)); -@@ -727,7 +727,7 @@ PHP_FUNCTION(stomp_send) - /* Add the destination */ - ZVAL_STR(&rv, zend_string_copy(destination)); - zend_hash_str_add(frame.headers, "destination", sizeof("destination") - 1, &rv); -- -+ - if (Z_TYPE_P(msg) == IS_STRING) { - frame.body = Z_STRVAL_P(msg); - frame.body_length = Z_STRLEN_P(msg); -@@ -770,7 +770,7 @@ PHP_FUNCTION(stomp_subscribe) - stomp_t *stomp = NULL; - zend_string *destination; - zval *headers = NULL, rv; -- stomp_frame_t frame = {0}; -+ stomp_frame_t frame = {0}; - int success = 0; - - if (stomp_object) { -@@ -793,7 +793,7 @@ PHP_FUNCTION(stomp_subscribe) - } - - INIT_FRAME(frame, "SUBSCRIBE"); -- -+ - /* Translate a PHP array to a stomp_header array */ - if (NULL != headers) { - FRAME_HEADER_FROM_HASHTABLE(frame.headers, Z_ARRVAL_P(headers)); -@@ -824,7 +824,7 @@ PHP_FUNCTION(stomp_unsubscribe) - stomp_t *stomp = NULL; - zend_string *destination; - zval *headers = NULL, rv; -- stomp_frame_t frame = {0}; -+ stomp_frame_t frame = {0}; - int success = 0; - - if (stomp_object) { -@@ -847,7 +847,7 @@ PHP_FUNCTION(stomp_unsubscribe) - } - - INIT_FRAME(frame, "UNSUBSCRIBE"); -- -+ - /* Translate a PHP array to a stomp_header array */ - if (NULL != headers) { - FRAME_HEADER_FROM_HASHTABLE(frame.headers, Z_ARRVAL_P(headers)); -@@ -866,9 +866,9 @@ PHP_FUNCTION(stomp_unsubscribe) - } - /* }}} */ - --/* {{{ proto boolean Stomp::hasFrame() -+/* {{{ proto boolean Stomp::hasFrame() - Indicate whether or not there is a frame ready to read */ --PHP_FUNCTION(stomp_has_frame) -+PHP_FUNCTION(stomp_has_frame) - { - zval *stomp_object = getThis(); - stomp_t *stomp = NULL; -@@ -886,7 +886,7 @@ PHP_FUNCTION(stomp_has_frame) - } - /* }}} */ - --/* {{{ proto StompFrame Stomp::readFrame() -+/* {{{ proto StompFrame Stomp::readFrame() - Read the next frame */ - PHP_FUNCTION(stomp_read_frame) - { -@@ -947,7 +947,7 @@ PHP_FUNCTION(stomp_read_frame) - zend_hash_update(Z_ARRVAL(headers), key, val); - } ZEND_HASH_FOREACH_END(); - } -- -+ - if (ce) { - zend_fcall_info fci; - zend_fcall_info_cache fcc; -@@ -1029,14 +1029,14 @@ static void _php_stomp_transaction(INTERNAL_FUNCTION_PARAMETERS, char *cmd, size - zval *stomp_object = getThis(); - stomp_t *stomp = NULL; - zend_string *transaction_id; -- stomp_frame_t frame = {0}; -+ stomp_frame_t frame = {0}; - int success = 0; - zval *headers = NULL, rv; - - if (stomp_object) { - if (zend_parse_parameters(ZEND_NUM_ARGS() , "S|a", &transaction_id, &headers) == FAILURE) { - return; -- } -+ } - FETCH_STOMP_OBJECT; - } else { - zval *arg; -@@ -1091,19 +1091,19 @@ PHP_FUNCTION(stomp_abort) - } - /* }}} */ - --/* {{{ _php_stomp_acknowledgment -+/* {{{ _php_stomp_acknowledgment - */ - static void _php_stomp_acknowledgment(INTERNAL_FUNCTION_PARAMETERS, char *cmd) { - zval *stomp_object = getThis(); - zval *msg, *headers = NULL; - stomp_t *stomp = NULL; -- stomp_frame_t frame = {0}; -+ stomp_frame_t frame = {0}; - int success = 0; - - if (stomp_object) { - if (zend_parse_parameters(ZEND_NUM_ARGS() , "z|a!", &msg, &headers) == FAILURE) { - return; -- } -+ } - FETCH_STOMP_OBJECT; - } else { - zval *arg; -@@ -1135,7 +1135,7 @@ static void _php_stomp_acknowledgment(INTERNAL_FUNCTION_PARAMETERS, char *cmd) { - CLEAR_FRAME(frame); - RETURN_FALSE; - } -- -+ - if (stomp_send(stomp, &frame ) > 0) { - success = stomp_valid_receipt(stomp, &frame); - } -@@ -1161,7 +1161,7 @@ PHP_FUNCTION(stomp_nack) - } - /* }}} */ - --/* {{{ proto string Stomp::error() -+/* {{{ proto string Stomp::error() - Get the last error message */ - PHP_FUNCTION(stomp_error) - { -@@ -1205,7 +1205,7 @@ PHP_FUNCTION(stomp_set_read_timeout) - if (zend_parse_parameters(ZEND_NUM_ARGS() , "l|l", &sec, &usec) == FAILURE) { - return; - } -- FETCH_STOMP_OBJECT; -+ FETCH_STOMP_OBJECT; - } else { - zval *arg; - if (zend_parse_parameters(ZEND_NUM_ARGS() , "rl|l", &arg, &sec, &usec) == FAILURE) { -@@ -1219,14 +1219,14 @@ PHP_FUNCTION(stomp_set_read_timeout) - } - /* }}} */ - --/* {{{ proto array Stomp::getTimeout() -+/* {{{ proto array Stomp::getTimeout() - Get the timeout */ - PHP_FUNCTION(stomp_get_read_timeout) - { - zval *stomp_object = getThis(); - stomp_t *stomp = NULL; - if (stomp_object) { -- FETCH_STOMP_OBJECT; -+ FETCH_STOMP_OBJECT; - } else { - zval *arg; - if (zend_parse_parameters(ZEND_NUM_ARGS() , "r", &arg) == FAILURE) { -@@ -1270,7 +1270,7 @@ PHP_METHOD(stompframe, __construct) - Get error details */ - PHP_METHOD(stompexception, getDetails) - { -- zval *object = getThis(); -+ zval *object = getThis(); - zval rv, *details = zend_read_property(stomp_ce_exception, object, "details", sizeof("details")-1, 1, &rv); - RETURN_STR(zval_get_string(details)); - } -diff --git a/php_stomp.h b/php_stomp.h -index 805b9f6..fdaaa3e 100644 ---- a/php_stomp.h -+++ b/php_stomp.h -@@ -24,7 +24,7 @@ - typedef struct _stomp_object { - stomp_t *stomp; - zend_object std; --} stomp_object_t; -+} stomp_object_t; - - #define PHP_STOMP_EXTNAME "Stomp" - #define PHP_STOMP_VERSION "2.0.2" -@@ -104,7 +104,7 @@ ZEND_END_MODULE_GLOBALS(stomp) - #define STOMP_G(v) TSRMG(stomp_globals_id, zend_stomp_globals *, v) - #else - #define STOMP_G(v) (stomp_globals.v) --#endif -+#endif - - #endif /* PHP_STOMP_H */ - -diff --git a/stomp.h b/stomp.h -index 19bd8dd..1a422b7 100644 ---- a/stomp.h -+++ b/stomp.h -@@ -40,7 +40,7 @@ typedef struct _stomp_options { - long read_timeout_usec; - #if HAVE_STOMP_SSL - int use_ssl; --#endif -+#endif - } stomp_options_t; - - typedef struct _stomp_frame { -@@ -57,7 +57,7 @@ typedef struct _stomp_frame_stack { - } stomp_frame_stack_t; - - typedef struct _stomp { -- php_socket_t fd; -+ php_socket_t fd; - php_sockaddr_storage localaddr; - stomp_options_t options; - char *host; -diff --git a/tests/002-version.phpt b/tests/002-version.phpt -index d3779aa..6e30db1 100644 ---- a/tests/002-version.phpt -+++ b/tests/002-version.phpt -@@ -3,7 +3,7 @@ Test stomp_version() - --SKIPIF-- - <?php if (!extension_loaded("stomp")) print "skip"; ?> - --FILE-- --<?php -+<?php - echo stomp_version(); - ?> - --EXPECTF-- -diff --git a/tests/003-connect/001.phpt b/tests/003-connect/001.phpt -index 31b48c1..1e3c968 100644 ---- a/tests/003-connect/001.phpt -+++ b/tests/003-connect/001.phpt -@@ -3,7 +3,7 @@ Test stomp_connect() - URI validation - --SKIPIF-- - <?php if (!extension_loaded("stomp")) print "skip"; ?> - --FILE-- --<?php -+<?php - var_dump(stomp_connect(''), stomp_connect_error()); - var_dump(stomp_connect(1), stomp_connect_error()); - var_dump(stomp_connect('foo'), stomp_connect_error()); -diff --git a/tests/003-connect/002.phpt b/tests/003-connect/002.phpt -index 6c40f37..4d05989 100644 ---- a/tests/003-connect/002.phpt -+++ b/tests/003-connect/002.phpt -@@ -1,12 +1,12 @@ - --TEST-- --Test stomp_connect() - Test connection -+Test stomp_connect() - Test connection - --SKIPIF-- - <?php - $require_connection = true; - include dirname(__DIR__). "/skipif.inc"; - ?> - --FILE-- --<?php -+<?php - include dirname(__DIR__) . "/config.inc"; - var_dump(stomp_connect(STOMP_ADDRESS)); - var_dump(stomp_connect_error()); -diff --git a/tests/003-connect/003.phpt b/tests/003-connect/003.phpt -index eb25a40..b3de8d6 100644 ---- a/tests/003-connect/003.phpt -+++ b/tests/003-connect/003.phpt -@@ -5,7 +5,7 @@ Test stomp_connect() - Test error on CONNECT - include "../skipif.inc" - ?> - --FILE-- --<?php -+<?php - try { - $stomp = new Stomp('tcp://localhost', 'anotpresentusername1234'); - } catch (Exception $e) { -diff --git a/tests/004-getSessionId/001.phpt b/tests/004-getSessionId/001.phpt -index a798a1a..08b92a9 100644 ---- a/tests/004-getSessionId/001.phpt -+++ b/tests/004-getSessionId/001.phpt -@@ -1,12 +1,12 @@ - --TEST-- - Test stomp_get_session_id() - --SKIPIF-- --<?php -+<?php - $require_connection = true; - include dirname(__DIR__) . '/skipif.inc'; - ?> - --FILE-- --<?php -+<?php - include dirname(__DIR__) . "/config.inc"; - $link = stomp_connect(STOMP_ADDRESS); - var_dump(stomp_get_session_id($link)); -diff --git a/tests/005-close/001.phpt b/tests/005-close/001.phpt -index 9e46e78..0a23a59 100644 ---- a/tests/005-close/001.phpt -+++ b/tests/005-close/001.phpt -@@ -1,11 +1,11 @@ - --TEST-- - Test stomp_close() - tests parameters - --SKIPIF-- --<?php -+<?php - include dirname(__DIR__) . "/skipif.inc"; - ?> - --FILE-- --<?php -+<?php - stomp_close(null); - ?> - --EXPECTF-- -diff --git a/tests/005-close/002.phpt b/tests/005-close/002.phpt -index b24c197..b3dbd95 100644 ---- a/tests/005-close/002.phpt -+++ b/tests/005-close/002.phpt -@@ -1,12 +1,12 @@ - --TEST-- - Test stomp_close() - --SKIPIF-- --<?php -+<?php - $require_connection = true; - include dirname(__DIR__) . "/skipif.inc"; - ?> - --FILE-- --<?php -+<?php - include dirname(__DIR__) . "/config.inc"; - $link = stomp_connect(STOMP_ADDRESS); - if($link) echo "success" . PHP_EOL; -diff --git a/tests/006-send/001.phpt b/tests/006-send/001.phpt -index 65cc607..82b29c6 100644 ---- a/tests/006-send/001.phpt -+++ b/tests/006-send/001.phpt -@@ -6,7 +6,7 @@ $require_connection = true; - include dirname(__DIR__) . "/skipif.inc"; - ?> - --FILE-- --<?php -+<?php - include dirname(__DIR__) . "/skipif.inc"; - - $link = stomp_connect(STOMP_ADDRESS); -diff --git a/tests/006-send/002.phpt b/tests/006-send/002.phpt -index 35da23e..6301c39 100644 ---- a/tests/006-send/002.phpt -+++ b/tests/006-send/002.phpt -@@ -6,7 +6,7 @@ $require_connection = true; - include dirname(__DIR__) . "/skipif.inc"; - ?> - --FILE-- --<?php -+<?php - - include dirname(__DIR__) . "/config.inc"; - -diff --git a/tests/006-send/003.phpt b/tests/006-send/003.phpt -index 5a4d384..14f2745 100644 ---- a/tests/006-send/003.phpt -+++ b/tests/006-send/003.phpt -@@ -6,7 +6,7 @@ $require_connection = true; - include dirname(__DIR__) . "/skipif.inc"; - ?> - --FILE-- --<?php -+<?php - include dirname(__DIR__) . "/skipif.inc"; - $s = new Stomp(STOMP_ADDRESS); - var_dump($s->send('/queue/test-06', 'A real message', array('receipt' => 'message-12345'))); -diff --git a/tests/007-subscribe/001.phpt b/tests/007-subscribe/001.phpt -index 644c404..8d190dd 100644 ---- a/tests/007-subscribe/001.phpt -+++ b/tests/007-subscribe/001.phpt -@@ -6,7 +6,7 @@ $require_connection = true; - include dirname(__DIR__) . "/skipif.inc"; - ?> - --FILE-- --<?php -+<?php - include dirname(__DIR__) . "/skipif.inc"; - - $s = new Stomp(STOMP_ADDRESS); -diff --git a/tests/008-unsubscribe/001.phpt b/tests/008-unsubscribe/001.phpt -index 647d7a5..c1200eb 100644 ---- a/tests/008-unsubscribe/001.phpt -+++ b/tests/008-unsubscribe/001.phpt -@@ -6,7 +6,7 @@ $require_connection = true; - include dirname(__DIR__) . "/skipif.inc"; - ?> - --FILE-- --<?php -+<?php - include dirname(__DIR__) . "/config.inc"; - - $s = new Stomp(STOMP_ADDRESS); -diff --git a/tests/009-readFrame/001.phpt b/tests/009-readFrame/001.phpt -index fe600b3..e67bad6 100644 ---- a/tests/009-readFrame/001.phpt -+++ b/tests/009-readFrame/001.phpt -@@ -6,7 +6,7 @@ $require_connection = true; - include dirname(__DIR__) . "/skipif.inc"; - ?> - --FILE-- --<?php -+<?php - include dirname(__DIR__) . "/config.inc"; - - $s = new Stomp(STOMP_ADDRESS); -diff --git a/tests/009-readFrame/003.phpt b/tests/009-readFrame/003.phpt -index f1e29b6..6e61254 100644 ---- a/tests/009-readFrame/003.phpt -+++ b/tests/009-readFrame/003.phpt -@@ -1,12 +1,12 @@ - --TEST-- --Test stomp::readFrame() - custom frame class -+Test stomp::readFrame() - custom frame class - --SKIPIF-- - <?php - $require_connection = true; - include dirname(__DIR__) . "/skipif.inc"; - ?> - --FILE-- --<?php -+<?php - - include dirname(__DIR__) . "/config.inc"; - -diff --git a/tests/009-readFrame/006.phpt b/tests/009-readFrame/006.phpt -index 0d1ffc4..e90ee80 100644 ---- a/tests/009-readFrame/006.phpt -+++ b/tests/009-readFrame/006.phpt -@@ -6,7 +6,7 @@ $require_connection = true; - include dirname(__DIR__) . "/skipif.inc"; - ?> - --FILE-- --<?php -+<?php - - include dirname(__DIR__) . "/config.inc"; - -diff --git a/tests/010-timeout/001.phpt b/tests/010-timeout/001.phpt -index 8256baa..7389f70 100644 ---- a/tests/010-timeout/001.phpt -+++ b/tests/010-timeout/001.phpt -@@ -5,11 +5,11 @@ stomp.default_read_timeout_sec=5 - stomp.default_read_timeout_usec=5 - --SKIPIF-- - <?php -- if (!extension_loaded("stomp")) print "skip"; -+ if (!extension_loaded("stomp")) print "skip"; - if (!stomp_connect()) print "skip"; - ?> - --FILE-- --<?php -+<?php - $s = new Stomp(); - - // First test, read from ini variables, expected to return 5.5 -diff --git a/tests/010-timeout/002.phpt b/tests/010-timeout/002.phpt -index 65d3c28..a150cb8 100644 ---- a/tests/010-timeout/002.phpt -+++ b/tests/010-timeout/002.phpt -@@ -5,11 +5,11 @@ stomp.default_read_timeout_sec=5 - stomp.default_read_timeout_usec=5 - --SKIPIF-- - <?php -- if (!extension_loaded("stomp")) print "skip"; -+ if (!extension_loaded("stomp")) print "skip"; - if (!stomp_connect()) print "skip"; - ?> - --FILE-- --<?php -+<?php - $link = stomp_connect(); - - // First test, read from ini variables, expected to return 5.5 -diff --git a/tests/011-commit/001.phpt b/tests/011-commit/001.phpt -index 3636095..33dd57d 100644 ---- a/tests/011-commit/001.phpt -+++ b/tests/011-commit/001.phpt -@@ -6,7 +6,7 @@ $require_connection = true; - include dirname(__DIR__) . "/skipif.inc"; - ?> - --FILE-- --<?php -+<?php - - include dirname(__DIR__) . "/config.inc"; - -diff --git a/tests/skipif.inc b/tests/skipif.inc -index 033a4be..858dd49 100644 ---- a/tests/skipif.inc -+++ b/tests/skipif.inc -@@ -2,7 +2,7 @@ - include __DIR__ . "/config.inc"; - - if (!extension_loaded("stomp")) { -- print "skip"; -+ print "skip"; - } - if (isset($require_connection) && $require_connection) { - $stomp = stomp_connect(STOMP_ADDRESS); - -From 13681a79d9389603d9788802f0a114671a753df1 Mon Sep 17 00:00:00 2001 -From: Remi Collet <remi@remirepo.net> -Date: Fri, 25 Sep 2020 16:06:39 +0200 -Subject: [PATCH 1/2] Fix compatibility with PHP 8 - cleanup remaining TSRMLS - macros - fix read/update_property parameters - adapt test suite for exception - in arg. parsing - fix callback - ---- - php_stomp.c | 38 ++++++++++++++++++++-------------- - stomp.c | 6 +++--- - stomp.h | 4 ++-- - tests/003-connect/003.phpt | 2 +- - tests/005-close/001.phpt | 8 +++++-- - tests/007-subscribe/001.phpt | 2 +- - tests/008-unsubscribe/001.phpt | 2 +- - tests/010-timeout/001.phpt | 24 ++++++++++++--------- - tests/010-timeout/002.phpt | 26 ++++++++++++++--------- - 9 files changed, 67 insertions(+), 45 deletions(-) - -diff --git a/php_stomp.c b/php_stomp.c -index 0dcefed..b99a9ff 100644 ---- a/php_stomp.c -+++ b/php_stomp.c -@@ -95,7 +95,7 @@ - zval _object, *object = &_object; \ - THROW_STOMP_EXCEPTION(object, errno, msg) \ - if (details) { \ -- zend_update_property_string(stomp_ce_exception, object, "details", sizeof("details")-1, (char *) details ); \ -+ zend_update_property_string(stomp_ce_exception, OBJ_FOR_PROP(object), "details", sizeof("details")-1, (char *) details ); \ - } \ - } - -@@ -105,6 +105,12 @@ - #define STOMP_URL_STR(a) ZSTR_VAL(a) - #endif - -+#if PHP_VERSION_ID < 80000 -+#define OBJ_FOR_PROP(zv) (zv) -+#else -+#define OBJ_FOR_PROP(zv) Z_OBJ_P(zv) -+#endif -+ - static int le_stomp; - static zend_object_handlers stomp_obj_handlers; - -@@ -562,7 +568,7 @@ PHP_FUNCTION(stomp_connect) - zval excobj; - THROW_STOMP_EXCEPTION(&excobj, stomp->errnum, stomp->error); - if (stomp->error_details) { -- zend_update_property_string(stomp_ce_exception, &excobj, "details", sizeof("details")-1, stomp->error_details ); -+ zend_update_property_string(stomp_ce_exception, OBJ_FOR_PROP(&excobj), "details", sizeof("details")-1, stomp->error_details ); - } - return; - } -@@ -576,7 +582,7 @@ PHP_FUNCTION(stomp_connect) - if ((error_msg = zend_hash_str_find(res->headers, ZEND_STRL("message"))) != NULL) { - THROW_STOMP_EXCEPTION(&excobj, 0, ZSTR_VAL(Z_STR_P(error_msg))); - if (res->body) { -- zend_update_property_string(stomp_ce_exception, &excobj, "details", sizeof("details")-1, (char *) res->body ); -+ zend_update_property_string(stomp_ce_exception, OBJ_FOR_PROP(&excobj), "details", sizeof("details")-1, (char *) res->body ); - } - } - stomp_free_frame(res); -@@ -733,17 +739,17 @@ PHP_FUNCTION(stomp_send) - frame.body_length = Z_STRLEN_P(msg); - } else if (Z_TYPE_P(msg) == IS_OBJECT && instanceof_function(Z_OBJCE_P(msg), stomp_ce_frame )) { - zval *frame_obj_prop = NULL; -- frame_obj_prop = zend_read_property(stomp_ce_frame, msg, "command", sizeof("command")-1, 1, &rv); -+ frame_obj_prop = zend_read_property(stomp_ce_frame, OBJ_FOR_PROP(msg), "command", sizeof("command")-1, 1, &rv); - if (Z_TYPE_P(frame_obj_prop) == IS_STRING) { - frame.command = Z_STRVAL_P(frame_obj_prop); - frame.command_length = Z_STRLEN_P(frame_obj_prop); - } -- frame_obj_prop = zend_read_property(stomp_ce_frame, msg, "body", sizeof("body")-1, 1, &rv); -+ frame_obj_prop = zend_read_property(stomp_ce_frame, OBJ_FOR_PROP(msg), "body", sizeof("body")-1, 1, &rv); - if (Z_TYPE_P(frame_obj_prop) == IS_STRING) { - frame.body = Z_STRVAL_P(frame_obj_prop); - frame.body_length = Z_STRLEN_P(frame_obj_prop); - } -- frame_obj_prop = zend_read_property(stomp_ce_frame, msg, "headers", sizeof("headers")-1, 1, &rv); -+ frame_obj_prop = zend_read_property(stomp_ce_frame, OBJ_FOR_PROP(msg), "headers", sizeof("headers")-1, 1, &rv); - if (Z_TYPE_P(frame_obj_prop) == IS_ARRAY) { - FRAME_HEADER_FROM_HASHTABLE(frame.headers, Z_ARRVAL_P(frame_obj_prop)); - } -@@ -928,7 +934,7 @@ PHP_FUNCTION(stomp_read_frame) - zval excobj; - THROW_STOMP_EXCEPTION(&excobj, 0, Z_STRVAL_P(error_msg)); - if (res->body) { -- zend_update_property_string(stomp_ce_exception, &excobj, ZEND_STRL("details"), (char *)res->body ); -+ zend_update_property_string(stomp_ce_exception, OBJ_FOR_PROP(&excobj), ZEND_STRL("details"), (char *)res->body ); - } - stomp_free_frame(res); - RETURN_FALSE; -@@ -966,10 +972,11 @@ PHP_FUNCTION(stomp_read_frame) - ZVAL_NULL(&body); - } - -+ memset(&fci, 0, sizeof(fci)); -+ memset(&fcc, 0, sizeof(fcc)); - fci.size = sizeof(fci); - #if (PHP_MAJOR_VERSION == 7 && PHP_MINOR_VERSION == 0) - fci.function_table = &ce->function_table; -- fci.symbol_table = NULL; - #endif - /* PARAMS */ - fci.param_count = 3; -@@ -981,8 +988,9 @@ PHP_FUNCTION(stomp_read_frame) - ZVAL_UNDEF(&fci.function_name); - fci.object = Z_OBJ_P(return_value); - fci.retval = &retval; -+#if PHP_VERSION_ID < 80000 - fci.no_separation = 1; -- -+#endif - #if PHP_VERSION_ID < 70300 - fcc.initialized = 1; - #endif -@@ -995,7 +1003,7 @@ PHP_FUNCTION(stomp_read_frame) - fcc.object = Z_OBJ_P(return_value); - - if (zend_call_function(&fci, &fcc ) == FAILURE) { -- zend_throw_exception_ex(zend_exception_get_default(TSRMLS_C), 0 , "Could not execute %s::%s()", ZSTR_VAL(ce->name), ZSTR_VAL(ce->constructor->common.function_name)); -+ zend_throw_exception_ex(zend_exception_get_default(), 0 , "Could not execute %s::%s()", ZSTR_VAL(ce->name), ZSTR_VAL(ce->constructor->common.function_name)); - } else { - zval_ptr_dtor(&retval); - } -@@ -1125,7 +1133,7 @@ static void _php_stomp_acknowledgment(INTERNAL_FUNCTION_PARAMETERS, char *cmd) { - } else if (Z_TYPE_P(msg) == IS_OBJECT && instanceof_function(Z_OBJCE_P(msg), stomp_ce_frame )) { - zval *frame_obj_prop, rv; - -- frame_obj_prop = zend_read_property(stomp_ce_frame, msg, "headers", sizeof("headers")-1, 1, &rv); -+ frame_obj_prop = zend_read_property(stomp_ce_frame, OBJ_FOR_PROP(msg), "headers", sizeof("headers")-1, 1, &rv); - if (Z_TYPE_P(frame_obj_prop) == IS_ARRAY) { - FRAME_HEADER_FROM_HASHTABLE(frame.headers, Z_ARRVAL_P(frame_obj_prop)); - } -@@ -1255,13 +1263,13 @@ PHP_METHOD(stompframe, __construct) - } - - if (command_length > 0) { -- zend_update_property_stringl(stomp_ce_frame, object, "command", sizeof("command")-1, command, command_length ); -+ zend_update_property_stringl(stomp_ce_frame, OBJ_FOR_PROP(object), "command", sizeof("command")-1, command, command_length ); - } - if (headers) { -- zend_update_property(stomp_ce_frame, object, "headers", sizeof("headers")-1, headers ); -+ zend_update_property(stomp_ce_frame, OBJ_FOR_PROP(object), "headers", sizeof("headers")-1, headers ); - } - if (body_length > 0) { -- zend_update_property_stringl(stomp_ce_frame, object, "body", sizeof("body")-1, body, body_length ); -+ zend_update_property_stringl(stomp_ce_frame, OBJ_FOR_PROP(object), "body", sizeof("body")-1, body, body_length ); - } - } - /* }}} */ -@@ -1271,7 +1279,7 @@ PHP_METHOD(stompframe, __construct) - PHP_METHOD(stompexception, getDetails) - { - zval *object = getThis(); -- zval rv, *details = zend_read_property(stomp_ce_exception, object, "details", sizeof("details")-1, 1, &rv); -+ zval rv, *details = zend_read_property(stomp_ce_exception, OBJ_FOR_PROP(object), "details", sizeof("details")-1, 1, &rv); - RETURN_STR(zval_get_string(details)); - } - /* }}} */ -diff --git a/stomp.c b/stomp.c -index d83a4e6..6e77ede 100644 ---- a/stomp.c -+++ b/stomp.c -@@ -34,7 +34,7 @@ extern zend_class_entry *stomp_ce_exception; - - /* {{{ DEBUG */ - #if PHP_DEBUG --static void print_stomp_frame(stomp_frame_t *frame TSRMLS_DC) { -+static void print_stomp_frame(stomp_frame_t *frame) { - php_printf("------ START FRAME ------\n"); - php_printf("%s\n", frame->command); - /* Headers */ -@@ -186,7 +186,7 @@ int stomp_writable(stomp_t *stomp) - - /* {{{ stomp_connect - */ --int stomp_connect(stomp_t *stomp, const char *host, unsigned short port TSRMLS_DC) -+int stomp_connect(stomp_t *stomp, const char *host, unsigned short port) - { - char error[1024]; - socklen_t size; -@@ -297,7 +297,7 @@ void stomp_close(stomp_t *stomp) - - /* {{{ stomp_send - */ --int stomp_send(stomp_t *stomp, stomp_frame_t *frame TSRMLS_DC) -+int stomp_send(stomp_t *stomp, stomp_frame_t *frame) - { - smart_str buf = {0}; - -diff --git a/stomp.h b/stomp.h -index 1a422b7..e4d02b3 100644 ---- a/stomp.h -+++ b/stomp.h -@@ -79,9 +79,9 @@ typedef struct _stomp { - } stomp_t; - - stomp_t *stomp_init(); --int stomp_connect(stomp_t *stomp, const char *host, unsigned short port TSRMLS_DC); -+int stomp_connect(stomp_t *stomp, const char *host, unsigned short port); - void stomp_close(stomp_t *stomp); --int stomp_send(stomp_t *connection, stomp_frame_t *frame TSRMLS_DC); -+int stomp_send(stomp_t *connection, stomp_frame_t *frame); - stomp_frame_t *stomp_read_frame_ex(stomp_t *connection, int use_stack); - int stomp_valid_receipt(stomp_t *connection, stomp_frame_t *frame); - int stomp_select_ex(stomp_t *connection, const long int sec, const long int usec); -diff --git a/tests/003-connect/003.phpt b/tests/003-connect/003.phpt -index b3de8d6..ba60e15 100644 ---- a/tests/003-connect/003.phpt -+++ b/tests/003-connect/003.phpt -@@ -2,7 +2,7 @@ - Test stomp_connect() - Test error on CONNECT - --SKIPIF-- - <?php --include "../skipif.inc" -+include dirname(__DIR__) . "/skipif.inc"; - ?> - --FILE-- - <?php -diff --git a/tests/005-close/001.phpt b/tests/005-close/001.phpt -index 0a23a59..77cc014 100644 ---- a/tests/005-close/001.phpt -+++ b/tests/005-close/001.phpt -@@ -6,7 +6,11 @@ include dirname(__DIR__) . "/skipif.inc"; - ?> - --FILE-- - <?php --stomp_close(null); -+try { -+ stomp_close(null); -+} catch (TypeError $e) { -+ echo $e->getMessage() . PHP_EOL; -+} - ?> - --EXPECTF-- --Warning: stomp_close() expects parameter 1 to be resource, null given in %s on line %d -+%stomp_close()%s1%s null %s -diff --git a/tests/007-subscribe/001.phpt b/tests/007-subscribe/001.phpt -index 8d190dd..494471c 100644 ---- a/tests/007-subscribe/001.phpt -+++ b/tests/007-subscribe/001.phpt -@@ -16,7 +16,7 @@ $s->subscribe('/queue/test', 'string'); - --EXPECTF-- - Warning: Stomp::subscribe(): Destination can not be empty in %s007-subscribe%c001.php on line %d - --Fatal error: Uncaught TypeError: Argument 2 passed to Stomp::subscribe() must be of the type array, string given in %s007-subscribe%c001.php:%d -+Fatal error: Uncaught TypeError: %s, string given in %s007-subscribe%c001.php:%d - Stack trace: - #0 %s001.php(%d): Stomp->subscribe('/queue/test', 'string') - #1 {main} -diff --git a/tests/008-unsubscribe/001.phpt b/tests/008-unsubscribe/001.phpt -index c1200eb..7d1b50f 100644 ---- a/tests/008-unsubscribe/001.phpt -+++ b/tests/008-unsubscribe/001.phpt -@@ -17,7 +17,7 @@ $s->unsubscribe('/queue/test', 'string'); - --EXPECTF-- - Warning: Stomp::unsubscribe(): Destination can not be empty in %s008-unsubscribe%c001.php on line %d - --Fatal error: Uncaught TypeError: Argument 2 passed to Stomp::unsubscribe() must be of the type array, string given in %s008-unsubscribe%c001.php:%d -+Fatal error: Uncaught TypeError: %s2%s string given in %s008-unsubscribe%c001.php:%d - Stack trace: - #0 %s(%d): Stomp->unsubscribe('/queue/test', 'string') - #1 {main} -diff --git a/tests/010-timeout/001.phpt b/tests/010-timeout/001.phpt -index 7389f70..b9886db 100644 ---- a/tests/010-timeout/001.phpt -+++ b/tests/010-timeout/001.phpt -@@ -25,13 +25,21 @@ var_dump($s->setReadTimeout(10, 5)); - // Third test, read supposed to return 10.5 - var_dump($s->getReadTimeout()); - --// Set read timout with the first param as a string, supposed to trigger a warning --var_dump($s->setReadTimeout('')); -+try { -+ // Set read timout with the first param as a string, supposed to trigger a warning/exception -+ var_dump($s->setReadTimeout('')); -+} catch (TypeError $e) { -+ echo $e->getMessage() . PHP_EOL; -+} - // Fourth test, read supposed to get the last value set : 10.5 - var_dump($s->getReadTimeout()); - --// Set read timout with the second param as a string, supposed to trigger a warning --var_dump($s->setReadTimeout(10, '')); -+try { -+ // Set read timout with the second param as a string, supposed to trigger a warning/exception -+ var_dump($s->setReadTimeout(10, '')); -+} catch (TypeError $e) { -+ echo $e->getMessage() . PHP_EOL; -+} - // Fourth test, read supposed to get the last value set : 10.5 - var_dump($s->getReadTimeout()); - -@@ -64,18 +72,14 @@ array(2) { - ["usec"]=> - int(5) - } -- --Warning: Stomp::setReadTimeout() expects parameter 1 to be long, string given in %s on line %d --NULL -+%AStomp::setReadTimeout()%s1%s string given%A - array(2) { - ["sec"]=> - int(10) - ["usec"]=> - int(5) - } -- --Warning: Stomp::setReadTimeout() expects parameter 2 to be long, string given in %s on line %d --NULL -+%AStomp::setReadTimeout()%s2%s string given%A - array(2) { - ["sec"]=> - int(10) -diff --git a/tests/010-timeout/002.phpt b/tests/010-timeout/002.phpt -index a6a9b4a..c22dedf 100644 ---- a/tests/010-timeout/002.phpt -+++ b/tests/010-timeout/002.phpt -@@ -25,13 +25,23 @@ var_dump(stomp_set_read_timeout($link, 10, 5)); - // Third test, read supposed to return 10.5 - var_dump(stomp_get_read_timeout($link)); - --// Set read timout with the first param as a string, supposed to trigger a warning --var_dump(stomp_set_read_timeout($link, '')); -+try { -+ // Set read timout with the first param as a string, supposed to trigger a warning on PHP 7 -+ // supposed to trigger an exception on PHP 8 -+ var_dump(stomp_set_read_timeout($link, '')); -+} catch (TypeError $e) { -+ echo $e->getMessage() . PHP_EOL; -+} - // Fourth test, read supposed to get the last value set : 10.5 - var_dump(stomp_get_read_timeout($link)); - --// Set read timout with the second param as a string, supposed to trigger a warning --var_dump(stomp_set_read_timeout($link, 10, '')); -+try { -+ // Set read timout with the second param as a string, supposed to trigger a warning on PHP 7 -+ // supposed to trigger an exception on PHP 8 -+ var_dump(stomp_set_read_timeout($link, 10, '')); -+} catch (TypeError $e) { -+ echo $e->getMessage() . PHP_EOL; -+} - // Fourth test, read supposed to get the last value set : 10.5 - var_dump(stomp_get_read_timeout($link)); - -@@ -64,18 +74,14 @@ array(2) { - ["usec"]=> - int(5) - } -- --Warning: stomp_set_read_timeout() expects parameter 2 to be long, string given in %s on line %d --NULL -+%Astomp_set_read_timeout()%s2%S string given%A - array(2) { - ["sec"]=> - int(10) - ["usec"]=> - int(5) - } -- --Warning: stomp_set_read_timeout() expects parameter 3 to be long, string given in %s on line %d --NULL -+%Astomp_set_read_timeout()%s3%s string given%A - array(2) { - ["sec"]=> - int(10) - -From 5e438eaa570cf73c323026da58ddeae13a9daacf Mon Sep 17 00:00:00 2001 -From: Remi Collet <remi@php.net> -Date: Mon, 27 Sep 2021 15:40:19 +0200 -Subject: [PATCH] allow NULL for transaction_id - ---- - php_stomp.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/php_stomp.c b/php_stomp.c -index b99a9ff..8e96b20 100644 ---- a/php_stomp.c -+++ b/php_stomp.c -@@ -1042,13 +1042,13 @@ static void _php_stomp_transaction(INTERNAL_FUNCTION_PARAMETERS, char *cmd, size - zval *headers = NULL, rv; - - if (stomp_object) { -- if (zend_parse_parameters(ZEND_NUM_ARGS() , "S|a", &transaction_id, &headers) == FAILURE) { -+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "S!|a", &transaction_id, &headers) == FAILURE) { - return; - } - FETCH_STOMP_OBJECT; - } else { - zval *arg; -- if (zend_parse_parameters(ZEND_NUM_ARGS() , "rS|a", &arg, &transaction_id, &headers) == FAILURE) { -+ if (zend_parse_parameters(ZEND_NUM_ARGS() , "rS!|a", &arg, &transaction_id, &headers) == FAILURE) { - return; - } - FETCH_STOMP_RSRC(stomp, arg); -@@ -1056,7 +1056,7 @@ static void _php_stomp_transaction(INTERNAL_FUNCTION_PARAMETERS, char *cmd, size - - INIT_FRAME_L(frame, cmd, cmd_len); - -- if (ZSTR_LEN(transaction_id)) { -+ if (transaction_id && ZSTR_LEN(transaction_id)) { - ZVAL_STR(&rv, zend_string_copy(transaction_id)); - zend_hash_str_add(frame.headers, "transaction", sizeof("transaction") - 1, &rv); - } -From 8c96bd7d77b0dd375d0a644f0847d6ca6270adf9 Mon Sep 17 00:00:00 2001 -From: Remi Collet <remi@php.net> -Date: Mon, 27 Sep 2021 15:40:49 +0200 -Subject: [PATCH] don't use NULL for integer - ---- - tests/010-timeout/001.phpt | 2 +- - tests/010-timeout/002.phpt | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/tests/010-timeout/001.phpt b/tests/010-timeout/001.phpt -index b9886db..15fe931 100644 ---- a/tests/010-timeout/001.phpt -+++ b/tests/010-timeout/001.phpt -@@ -44,7 +44,7 @@ try { - var_dump($s->getReadTimeout()); - - // Set read timout with the params as null --var_dump($s->setReadTimeout(null, null)); -+var_dump($s->setReadTimeout(0, 0)); - // Fifth test, read supposed to get the last value set : 0.0 - var_dump($s->getReadTimeout()); - -diff --git a/tests/010-timeout/002.phpt b/tests/010-timeout/002.phpt -index c22dedf..b7da6c7 100644 ---- a/tests/010-timeout/002.phpt -+++ b/tests/010-timeout/002.phpt -@@ -46,7 +46,7 @@ try { - var_dump(stomp_get_read_timeout($link)); - - // Set read timout with the params as null --var_dump(stomp_set_read_timeout($link, null, null)); -+var_dump(stomp_set_read_timeout($link, 0, 0)); - // Fifth test, read supposed to get the last value set : 0.0 - var_dump(stomp_get_read_timeout($link)); - -From 380e82bba1567bac80264b212bbb9df040b48a56 Mon Sep 17 00:00:00 2001 -From: Remi Collet <remi@php.net> -Date: Mon, 27 Sep 2021 16:01:59 +0200 -Subject: [PATCH] only add the ack if not already in the headers - ---- - php_stomp.c | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -diff --git a/php_stomp.c b/php_stomp.c -index 8e96b20..11cf006 100644 ---- a/php_stomp.c -+++ b/php_stomp.c -@@ -805,10 +805,13 @@ PHP_FUNCTION(stomp_subscribe) - FRAME_HEADER_FROM_HASHTABLE(frame.headers, Z_ARRVAL_P(headers)); - } - -- /* Add the destination */ -- ZVAL_STRINGL(&rv, "client", sizeof("client") - 1); -- zend_hash_str_update(frame.headers, "ack", sizeof("ack") - 1, &rv); -+ /* Add the ack if not already in the headers */ -+ if (!zend_hash_str_find(frame.headers, ZEND_STRL("ack"))) { -+ ZVAL_STRINGL(&rv, "client", sizeof("client") - 1); -+ zend_hash_str_update(frame.headers, "ack", sizeof("ack") - 1, &rv); -+ } - -+ /* Add the destination */ - ZVAL_STR(&rv, zend_string_copy(destination)); - zend_hash_str_update(frame.headers, "destination", sizeof("destination") - 1, &rv); - /* zend_hash_str_add_ptr(frame.headers, ZEND_STRL("activemq.prefetchSize"), estrdup("1")); */ |