]> granicus.if.org Git - php/commitdiff
mysqlnd refactoring:
authorAndrey Hristov <andrey@php.net>
Tue, 17 Nov 2015 11:31:30 +0000 (12:31 +0100)
committerAndrey Hristov <andrey@php.net>
Tue, 17 Nov 2015 11:32:01 +0000 (12:32 +0100)
- move MYSQLND_READ_BUFFER to own file

ext/mysqlnd/config.w32
ext/mysqlnd/config9.m4
ext/mysqlnd/mysqlnd_protocol_frame_codec.c
ext/mysqlnd/mysqlnd_read_buffer.c [new file with mode: 0644]
ext/mysqlnd/mysqlnd_read_buffer.h [new file with mode: 0644]
ext/mysqlnd/mysqlnd_structs.h

index 012c52401a00e8057bf670b133854b8dc1c0d4a4..52be8f563ca1ad8bf0fe375a1bd38f681644a12b 100644 (file)
@@ -21,6 +21,7 @@ if (PHP_MYSQLND != "no") {
                        "mysqlnd_protocol_frame_codec.c " +
                        "mysqlnd_ps.c " +
                        "mysqlnd_ps_codec.c " +
+                       "mysqlnd_read_buffer.c " +
                        "mysqlnd_result.c " +
                        "mysqlnd_result_meta.c " +
                        "mysqlnd_statistics.c " +
index e8f078aff6122e546cbb5a6363ca8485a93279e7..b5f20a9c8b3f58f112c3d76270690e7fb986398a 100644 (file)
@@ -22,7 +22,7 @@ if test "$PHP_MYSQLND" != "no" || test "$PHP_MYSQLND_ENABLED" = "yes"; then
                    mysqlnd_loaddata.c mysqlnd_reverse_api.c mysqlnd_vio.c mysqlnd_protocol_frame_codec.c \
                    mysqlnd_statistics.c mysqlnd_driver.c mysqlnd_ext_plugin.c mysqlnd_auth.c \
                                   mysqlnd_result.c mysqlnd_result_meta.c mysqlnd_debug.c mysqlnd_commands.c \
-                                  mysqlnd_block_alloc.c mysqlnd_plugin.c php_mysqlnd.c"
+                                  mysqlnd_block_alloc.c mysqlnd_read_buffer.c mysqlnd_plugin.c php_mysqlnd.c"
 
 
   if test "$PHP_MYSQLND_COMPRESSION_SUPPORT" != "no"; then
index a5dc1b0108e80766e85c4127723d6347e39a52df..2a26bf8dfc123ff3911adc3605dcd5ac11c1b529 100644 (file)
@@ -20,6 +20,7 @@
 #include "mysqlnd.h"
 #include "mysqlnd_connection.h"
 #include "mysqlnd_priv.h"
+#include "mysqlnd_read_buffer.h"
 #include "mysqlnd_wireprotocol.h"
 #include "mysqlnd_statistics.h"
 #include "mysqlnd_debug.h"
@@ -183,69 +184,6 @@ MYSQLND_METHOD(mysqlnd_pfc, send)(MYSQLND_PFC * const pfc, MYSQLND_VIO * const v
 
 
 #ifdef MYSQLND_COMPRESSION_ENABLED
-/* {{{ php_mysqlnd_read_buffer_is_empty */
-static zend_bool
-php_mysqlnd_read_buffer_is_empty(MYSQLND_READ_BUFFER * buffer)
-{
-       return buffer->len? FALSE:TRUE;
-}
-/* }}} */
-
-
-/* {{{ php_mysqlnd_read_buffer_read */
-static void
-php_mysqlnd_read_buffer_read(MYSQLND_READ_BUFFER * buffer, size_t count, zend_uchar * dest)
-{
-       if (buffer->len >= count) {
-               memcpy(dest, buffer->data + buffer->offset, count);
-               buffer->offset += count;
-               buffer->len -= count;
-       }
-}
-/* }}} */
-
-
-/* {{{ php_mysqlnd_read_buffer_bytes_left */
-static size_t
-php_mysqlnd_read_buffer_bytes_left(MYSQLND_READ_BUFFER * buffer)
-{
-       return buffer->len;
-}
-/* }}} */
-
-
-/* {{{ php_mysqlnd_read_buffer_free */
-static void
-php_mysqlnd_read_buffer_free(MYSQLND_READ_BUFFER ** buffer)
-{
-       DBG_ENTER("php_mysqlnd_read_buffer_free");
-       if (*buffer) {
-               mnd_efree((*buffer)->data);
-               mnd_efree(*buffer);
-               *buffer = NULL;
-       }
-       DBG_VOID_RETURN;
-}
-/* }}} */
-
-
-/* {{{ php_mysqlnd_create_read_buffer */
-static MYSQLND_READ_BUFFER *
-mysqlnd_create_read_buffer(size_t count)
-{
-       MYSQLND_READ_BUFFER * ret = mnd_emalloc(sizeof(MYSQLND_READ_BUFFER));
-       DBG_ENTER("mysqlnd_create_read_buffer");
-       ret->is_empty = php_mysqlnd_read_buffer_is_empty;
-       ret->read = php_mysqlnd_read_buffer_read;
-       ret->bytes_left = php_mysqlnd_read_buffer_bytes_left;
-       ret->free_buffer = php_mysqlnd_read_buffer_free;
-       ret->data = mnd_emalloc(count);
-       ret->size = ret->len = count;
-       ret->offset = 0;
-       DBG_RETURN(ret);
-}
-/* }}} */
-
 
 /* {{{ mysqlnd_pfc::read_compressed_packet_from_stream_and_fill_read_buffer */
 static enum_func_status
diff --git a/ext/mysqlnd/mysqlnd_read_buffer.c b/ext/mysqlnd/mysqlnd_read_buffer.c
new file mode 100644 (file)
index 0000000..99cb321
--- /dev/null
@@ -0,0 +1,95 @@
+/*
+  +----------------------------------------------------------------------+
+  | PHP Version 7                                                        |
+  +----------------------------------------------------------------------+
+  | Copyright (c) 2006-2015 The PHP Group                                |
+  +----------------------------------------------------------------------+
+  | This source file is subject to version 3.01 of the PHP license,      |
+  | that is bundled with this package in the file LICENSE, and is        |
+  | available through the world-wide-web at the following url:           |
+  | http://www.php.net/license/3_01.txt                                  |
+  | If you did not receive a copy of the PHP license and are unable to   |
+  | obtain it through the world-wide-web, please send a note to          |
+  | license@php.net so we can mail you a copy immediately.               |
+  +----------------------------------------------------------------------+
+  | Authors: Andrey Hristov <andrey@mysql.com>                           |
+  |          Ulf Wendel <uwendel@mysql.com>                              |
+  +----------------------------------------------------------------------+
+*/
+#include "php.h"
+#include "mysqlnd.h"
+#include "mysqlnd_debug.h"
+#include "mysqlnd_read_buffer.h"
+
+
+/* {{{ mysqlnd_read_buffer_is_empty */
+static zend_bool
+mysqlnd_read_buffer_is_empty(const MYSQLND_READ_BUFFER * const buffer)
+{
+       return buffer->len? FALSE:TRUE;
+}
+/* }}} */
+
+
+/* {{{ mysqlnd_read_buffer_read */
+static void
+mysqlnd_read_buffer_read(MYSQLND_READ_BUFFER * buffer, const size_t count, zend_uchar * dest)
+{
+       if (buffer->len >= count) {
+               memcpy(dest, buffer->data + buffer->offset, count);
+               buffer->offset += count;
+               buffer->len -= count;
+       }
+}
+/* }}} */
+
+
+/* {{{ mysqlnd_read_buffer_bytes_left */
+static size_t
+mysqlnd_read_buffer_bytes_left(const MYSQLND_READ_BUFFER * const buffer)
+{
+       return buffer->len;
+}
+/* }}} */
+
+
+/* {{{ mysqlnd_read_buffer_free */
+static void
+mysqlnd_read_buffer_free(MYSQLND_READ_BUFFER ** buffer)
+{
+       DBG_ENTER("mysqlnd_read_buffer_free");
+       if (*buffer) {
+               mnd_efree((*buffer)->data);
+               mnd_efree(*buffer);
+               *buffer = NULL;
+       }
+       DBG_VOID_RETURN;
+}
+/* }}} */
+
+
+/* {{{ mysqlnd_create_read_buffer */
+PHPAPI MYSQLND_READ_BUFFER *
+mysqlnd_create_read_buffer(const size_t count)
+{
+       MYSQLND_READ_BUFFER * ret = mnd_emalloc(sizeof(MYSQLND_READ_BUFFER));
+       DBG_ENTER("mysqlnd_create_read_buffer");
+       ret->is_empty = mysqlnd_read_buffer_is_empty;
+       ret->read = mysqlnd_read_buffer_read;
+       ret->bytes_left = mysqlnd_read_buffer_bytes_left;
+       ret->free_buffer = mysqlnd_read_buffer_free;
+       ret->data = mnd_emalloc(count);
+       ret->size = ret->len = count;
+       ret->offset = 0;
+       DBG_RETURN(ret);
+}
+/* }}} */
+
+/*
+ * Local variables:
+ * tab-width: 4
+ * c-basic-offset: 4
+ * End:
+ * vim600: noet sw=4 ts=4 fdm=marker
+ * vim<600: noet sw=4 ts=4
+ */
diff --git a/ext/mysqlnd/mysqlnd_read_buffer.h b/ext/mysqlnd/mysqlnd_read_buffer.h
new file mode 100644 (file)
index 0000000..56286ae
--- /dev/null
@@ -0,0 +1,25 @@
+/*
+  +----------------------------------------------------------------------+
+  | PHP Version 7                                                        |
+  +----------------------------------------------------------------------+
+  | Copyright (c) 2006-2015 The PHP Group                                |
+  +----------------------------------------------------------------------+
+  | This source file is subject to version 3.01 of the PHP license,      |
+  | that is bundled with this package in the file LICENSE, and is        |
+  | available through the world-wide-web at the following url:           |
+  | http://www.php.net/license/3_01.txt                                  |
+  | If you did not receive a copy of the PHP license and are unable to   |
+  | obtain it through the world-wide-web, please send a note to          |
+  | license@php.net so we can mail you a copy immediately.               |
+  +----------------------------------------------------------------------+
+  | Authors: Andrey Hristov <andrey@mysql.com>                           |
+  |          Ulf Wendel <uwendel@mysql.com>                              |
+  +----------------------------------------------------------------------+
+*/
+
+#ifndef MYSQLND_READ_BUFFER_H
+#define MYSQLND_READ_BUFFER_H
+
+PHPAPI MYSQLND_READ_BUFFER * mysqlnd_create_read_buffer(const size_t count);
+
+#endif /* MYSQLND_READ_BUFFER_H */
index fb42d0a0cd0f91bf626c8a11bc9e52bb4b3ec130..58efe02cf12fbd3608a76326503fff2fc13ccccc 100644 (file)
@@ -1063,9 +1063,9 @@ typedef struct st_mysqlnd_read_buffer {
        size_t          offset;
        size_t          size;
        size_t          len;
-       zend_bool       (*is_empty)(struct st_mysqlnd_read_buffer *);
+       zend_bool       (*is_empty)(const struct st_mysqlnd_read_buffer *);
        void            (*read)(struct st_mysqlnd_read_buffer *, size_t count, zend_uchar * dest);
-       size_t          (*bytes_left)(struct st_mysqlnd_read_buffer *);
+       size_t          (*bytes_left)(const struct st_mysqlnd_read_buffer *);
        void            (*free_buffer)(struct st_mysqlnd_read_buffer **);
 } MYSQLND_READ_BUFFER;