Skip to content

Commit 5801ead

Browse files
kamil-tekielanikic
authored andcommitted
Remove redundant macros in mysqli_driver implementation
This class doesn't define many properties, and the macros make customization hard.
1 parent 475ea62 commit 5801ead

File tree

1 file changed

+21
-47
lines changed

1 file changed

+21
-47
lines changed

ext/mysqli/mysqli_driver.c

Lines changed: 21 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -26,54 +26,35 @@
2626
#include "php_mysqli_structs.h"
2727
#include "zend_exceptions.h"
2828

29-
#define MAP_PROPERTY_MYG_BOOL_READ(name, value) \
30-
static int name(mysqli_object *obj, zval *retval, bool quiet) \
31-
{ \
32-
ZVAL_BOOL(retval, MyG(value)); \
33-
return SUCCESS; \
34-
} \
3529

36-
#define MAP_PROPERTY_MYG_BOOL_WRITE(name, value) \
37-
static int name(mysqli_object *obj, zval *value) \
38-
{ \
39-
MyG(value) = Z_LVAL_P(value) > 0; \
40-
return SUCCESS; \
41-
} \
42-
43-
#define MAP_PROPERTY_MYG_LONG_READ(name, value) \
44-
static int name(mysqli_object *obj, zval *retval, bool quiet) \
45-
{ \
46-
ZVAL_LONG(retval, MyG(value)); \
47-
return SUCCESS; \
48-
} \
49-
50-
#define MAP_PROPERTY_MYG_LONG_WRITE(name, value) \
51-
static int name(mysqli_object *obj, zval *value) \
52-
{ \
53-
MyG(value) = Z_LVAL_P(value); \
54-
return SUCCESS; \
55-
} \
30+
/* {{{ property driver_report_read */
31+
static int driver_reconnect_read(mysqli_object *obj, zval *retval, bool quiet)
32+
{
33+
ZVAL_BOOL(retval, MyG(reconnect));
34+
return SUCCESS;
35+
}
36+
/* }}} */
5637

57-
#define MAP_PROPERTY_MYG_STRING_READ(name, value) \
58-
static int name(mysqli_object *obj, zval *retval, bool quiet) \
59-
{ \
60-
ZVAL_STRING(retval, MyG(value)); \
61-
return SUCCESS; \
62-
} \
38+
/* {{{ property driver_report_write */
39+
static int driver_reconnect_write(mysqli_object *obj, zval *value)
40+
{
41+
MyG(reconnect) = Z_LVAL_P(value) > 0;
42+
return SUCCESS;
43+
}
44+
/* }}} */
6345

64-
#define MAP_PROPERTY_MYG_STRING_WRITE(name, value) \
65-
static int name(mysqli_object *obj, zval *value) \
66-
{ \
67-
MyG(value) = Z_STRVAL_P(value); \
68-
return SUCCESS; \
69-
} \
46+
/* {{{ property driver_report_read */
47+
static int driver_report_read(mysqli_object *obj, zval *retval, bool quiet)
48+
{
49+
ZVAL_LONG(retval, MyG(report_mode));
50+
return SUCCESS;
51+
}
52+
/* }}} */
7053

7154
/* {{{ property driver_report_write */
7255
static int driver_report_write(mysqli_object *obj, zval *value)
7356
{
7457
MyG(report_mode) = Z_LVAL_P(value);
75-
/*FIXME*/
76-
/* zend_replace_error_handling(MyG(report_mode) & MYSQLI_REPORT_STRICT ? EH_THROW : EH_NORMAL, NULL, NULL); */
7758
return SUCCESS;
7859
}
7960
/* }}} */
@@ -82,7 +63,6 @@ static int driver_report_write(mysqli_object *obj, zval *value)
8263
static int driver_client_version_read(mysqli_object *obj, zval *retval, bool quiet)
8364
{
8465
ZVAL_LONG(retval, mysql_get_client_version());
85-
8666
return SUCCESS;
8767
}
8868
/* }}} */
@@ -91,7 +71,6 @@ static int driver_client_version_read(mysqli_object *obj, zval *retval, bool qui
9171
static int driver_client_info_read(mysqli_object *obj, zval *retval, bool quiet)
9272
{
9373
ZVAL_STRING(retval, (char *)mysql_get_client_info());
94-
9574
return SUCCESS;
9675
}
9776
/* }}} */
@@ -100,15 +79,10 @@ static int driver_client_info_read(mysqli_object *obj, zval *retval, bool quiet)
10079
static int driver_driver_version_read(mysqli_object *obj, zval *retval, bool quiet)
10180
{
10281
ZVAL_LONG(retval, MYSQLI_VERSION_ID);
103-
10482
return SUCCESS;
10583
}
10684
/* }}} */
10785

108-
MAP_PROPERTY_MYG_BOOL_READ(driver_reconnect_read, reconnect)
109-
MAP_PROPERTY_MYG_BOOL_WRITE(driver_reconnect_write, reconnect)
110-
MAP_PROPERTY_MYG_LONG_READ(driver_report_read, report_mode)
111-
11286
ZEND_FUNCTION(mysqli_driver_construct)
11387
{
11488
#ifdef G0

0 commit comments

Comments
 (0)