Skip to content

Commit 43f6916

Browse files
committed
Boolify PDO's set_attribute driver function
1 parent d04adf6 commit 43f6916

File tree

8 files changed

+65
-64
lines changed

8 files changed

+65
-64
lines changed

ext/pdo/php_pdo_driver.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -241,8 +241,9 @@ typedef int (*pdo_dbh_quote_func)(pdo_dbh_t *dbh, const char *unquoted, size_t u
241241
* Return true if currently inside a transaction, false otherwise. */
242242
typedef bool (*pdo_dbh_txn_func)(pdo_dbh_t *dbh);
243243

244-
/* setting of attributes */
245-
typedef int (*pdo_dbh_set_attr_func)(pdo_dbh_t *dbh, zend_long attr, zval *val);
244+
/* setting of attributes
245+
* Return true on success and false in case of failure */
246+
typedef bool (*pdo_dbh_set_attr_func)(pdo_dbh_t *dbh, zend_long attr, zval *val);
246247

247248
/* return last insert id. NULL indicates error condition, otherwise, the return value
248249
* MUST be an emalloc'd NULL terminated string. */

ext/pdo_dblib/dblib_driver.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -269,28 +269,28 @@ char *dblib_handle_last_id(pdo_dbh_t *dbh, const char *name, size_t *len)
269269
return id;
270270
}
271271

272-
static int dblib_set_attr(pdo_dbh_t *dbh, zend_long attr, zval *val)
272+
static bool dblib_set_attr(pdo_dbh_t *dbh, zend_long attr, zval *val)
273273
{
274274
pdo_dblib_db_handle *H = (pdo_dblib_db_handle *)dbh->driver_data;
275275

276276
switch(attr) {
277277
case PDO_ATTR_DEFAULT_STR_PARAM:
278278
H->assume_national_character_set_strings = zval_get_long(val) == PDO_PARAM_STR_NATL ? 1 : 0;
279-
return 1;
279+
return true;
280280
case PDO_ATTR_TIMEOUT:
281281
case PDO_DBLIB_ATTR_QUERY_TIMEOUT:
282-
return SUCCEED == dbsettime(zval_get_long(val)) ? 1 : 0;
282+
return SUCCEED == dbsettime(zval_get_long(val));
283283
case PDO_DBLIB_ATTR_STRINGIFY_UNIQUEIDENTIFIER:
284284
H->stringify_uniqueidentifier = zval_get_long(val);
285-
return 1;
285+
return true;
286286
case PDO_DBLIB_ATTR_SKIP_EMPTY_ROWSETS:
287287
H->skip_empty_rowsets = zval_is_true(val);
288-
return 1;
288+
return true;
289289
case PDO_DBLIB_ATTR_DATETIME_CONVERT:
290290
H->datetime_convert = zval_get_long(val);
291-
return 1;
291+
return true;
292292
default:
293-
return 0;
293+
return false;
294294
}
295295
}
296296

ext/pdo_firebird/firebird_driver.c

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -821,7 +821,7 @@ static int firebird_alloc_prepare_stmt(pdo_dbh_t *dbh, const char *sql, size_t s
821821
/* }}} */
822822

823823
/* called by PDO to set a driver-specific dbh attribute */
824-
static int firebird_handle_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *val) /* {{{ */
824+
static bool firebird_handle_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *val) /* {{{ */
825825
{
826826
pdo_firebird_db_handle *H = (pdo_firebird_db_handle *)dbh->driver_data;
827827

@@ -837,7 +837,7 @@ static int firebird_handle_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *v
837837
/* turning on auto_commit with an open transaction is illegal, because
838838
we won't know what to do with it */
839839
H->last_app_error = "Cannot enable auto-commit while a transaction is already open";
840-
return 0;
840+
return false;
841841
} else {
842842
/* close the transaction */
843843
if (!firebird_handle_commit(dbh)) {
@@ -849,55 +849,55 @@ static int firebird_handle_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *v
849849
dbh->auto_commit = bval;
850850
}
851851
}
852-
return 1;
852+
return true;
853853

854854
case PDO_ATTR_FETCH_TABLE_NAMES:
855855
H->fetch_table_names = zval_get_long(val)? 1 : 0;
856-
return 1;
856+
return true;
857857

858858
case PDO_FB_ATTR_DATE_FORMAT:
859859
{
860860
zend_string *str = zval_try_get_string(val);
861861
if (UNEXPECTED(!str)) {
862-
return 0;
862+
return false;
863863
}
864864
if (H->date_format) {
865865
efree(H->date_format);
866866
}
867867
spprintf(&H->date_format, 0, "%s", ZSTR_VAL(str));
868868
zend_string_release_ex(str, 0);
869869
}
870-
return 1;
870+
return true;
871871

872872
case PDO_FB_ATTR_TIME_FORMAT:
873873
{
874874
zend_string *str = zval_try_get_string(val);
875875
if (UNEXPECTED(!str)) {
876-
return 0;
876+
return false;
877877
}
878878
if (H->time_format) {
879879
efree(H->time_format);
880880
}
881881
spprintf(&H->time_format, 0, "%s", ZSTR_VAL(str));
882882
zend_string_release_ex(str, 0);
883883
}
884-
return 1;
884+
return true;
885885

886886
case PDO_FB_ATTR_TIMESTAMP_FORMAT:
887887
{
888888
zend_string *str = zval_try_get_string(val);
889889
if (UNEXPECTED(!str)) {
890-
return 0;
890+
return false;
891891
}
892892
if (H->timestamp_format) {
893893
efree(H->timestamp_format);
894894
}
895895
spprintf(&H->timestamp_format, 0, "%s", ZSTR_VAL(str));
896896
zend_string_release_ex(str, 0);
897897
}
898-
return 1;
898+
return true;
899899
}
900-
return 0;
900+
return false;
901901
}
902902
/* }}} */
903903

ext/pdo_mysql/mysql_driver.c

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -390,7 +390,7 @@ static inline int mysql_handle_autocommit(pdo_dbh_t *dbh)
390390
/* }}} */
391391

392392
/* {{{ pdo_mysql_set_attribute */
393-
static int pdo_mysql_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *val)
393+
static bool pdo_mysql_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *val)
394394
{
395395
zend_long lval = zval_get_long(val);
396396
zend_bool bval = lval ? 1 : 0;
@@ -403,29 +403,29 @@ static int pdo_mysql_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *val)
403403
if (dbh->auto_commit ^ bval) {
404404
dbh->auto_commit = bval;
405405
if (!mysql_handle_autocommit(dbh)) {
406-
PDO_DBG_RETURN(0);
406+
PDO_DBG_RETURN(false);
407407
}
408408
}
409-
PDO_DBG_RETURN(1);
409+
PDO_DBG_RETURN(true);
410410

411411
case PDO_ATTR_DEFAULT_STR_PARAM:
412412
((pdo_mysql_db_handle *)dbh->driver_data)->assume_national_character_set_strings = lval == PDO_PARAM_STR_NATL;
413-
PDO_DBG_RETURN(1);
413+
PDO_DBG_RETURN(true);
414414

415415
case PDO_MYSQL_ATTR_USE_BUFFERED_QUERY:
416416
/* ignore if the new value equals the old one */
417417
((pdo_mysql_db_handle *)dbh->driver_data)->buffered = bval;
418-
PDO_DBG_RETURN(1);
418+
PDO_DBG_RETURN(true);
419419

420420
case PDO_MYSQL_ATTR_DIRECT_QUERY:
421421
case PDO_ATTR_EMULATE_PREPARES:
422422
/* ignore if the new value equals the old one */
423423
((pdo_mysql_db_handle *)dbh->driver_data)->emulate_prepare = bval;
424-
PDO_DBG_RETURN(1);
424+
PDO_DBG_RETURN(true);
425425

426426
case PDO_ATTR_FETCH_TABLE_NAMES:
427427
((pdo_mysql_db_handle *)dbh->driver_data)->fetch_table_names = bval;
428-
PDO_DBG_RETURN(1);
428+
PDO_DBG_RETURN(true);
429429

430430
#ifndef PDO_USE_MYSQLND
431431
case PDO_MYSQL_ATTR_MAX_BUFFER_SIZE:
@@ -436,12 +436,12 @@ static int pdo_mysql_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *val)
436436
} else {
437437
((pdo_mysql_db_handle *)dbh->driver_data)->max_buffer_size = lval;
438438
}
439-
PDO_DBG_RETURN(1);
439+
PDO_DBG_RETURN(true);
440440
break;
441441
#endif
442442

443443
default:
444-
PDO_DBG_RETURN(0);
444+
PDO_DBG_RETURN(false);
445445
}
446446
}
447447
/* }}} */

ext/pdo_oci/oci_driver.c

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -426,7 +426,7 @@ static bool oci_handle_rollback(pdo_dbh_t *dbh) /* {{{ */
426426
}
427427
/* }}} */
428428

429-
static int oci_handle_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *val) /* {{{ */
429+
static bool oci_handle_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *val) /* {{{ */
430430
{
431431
zend_long lval = zval_get_long(val);
432432
pdo_oci_db_handle *H = (pdo_oci_db_handle *)dbh->driver_data;
@@ -440,101 +440,101 @@ static int oci_handle_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *val) /
440440

441441
if (H->last_err) {
442442
H->last_err = oci_drv_error("OCITransCommit");
443-
return 0;
443+
return false;
444444
}
445445
dbh->in_txn = false;
446446
}
447447

448448
dbh->auto_commit = (unsigned int)lval? 1 : 0;
449-
return 1;
449+
return true;
450450
}
451451
case PDO_ATTR_PREFETCH:
452452
{
453453
H->prefetch = pdo_oci_sanitize_prefetch(lval);
454-
return 1;
454+
return true;
455455
}
456456
case PDO_OCI_ATTR_ACTION:
457457
{
458458
#if (OCI_MAJOR_VERSION >= 10)
459459
zend_string *action = zval_try_get_string(val);
460460
if (UNEXPECTED(!action)) {
461-
return 0;
461+
return false;
462462
}
463463

464464
H->last_err = OCIAttrSet(H->session, OCI_HTYPE_SESSION,
465465
(dvoid *) ZSTR_VAL(action), (ub4) ZSTR_LEN(action),
466466
OCI_ATTR_ACTION, H->err);
467467
if (H->last_err) {
468468
oci_drv_error("OCIAttrSet: OCI_ATTR_ACTION");
469-
return 0;
469+
return false;
470470
}
471-
return 1;
471+
return true;
472472
#else
473473
oci_drv_error("Unsupported attribute type");
474-
return 0;
474+
return false;
475475
#endif
476476
}
477477
case PDO_OCI_ATTR_CLIENT_INFO:
478478
{
479479
#if (OCI_MAJOR_VERSION >= 10)
480480
zend_string *client_info = zval_try_get_string(val);
481481
if (UNEXPECTED(!client_info)) {
482-
return 0;
482+
return false;
483483
}
484484

485485
H->last_err = OCIAttrSet(H->session, OCI_HTYPE_SESSION,
486486
(dvoid *) ZSTR_VAL(client_info), (ub4) ZSTR_LEN(client_info),
487487
OCI_ATTR_CLIENT_INFO, H->err);
488488
if (H->last_err) {
489489
oci_drv_error("OCIAttrSet: OCI_ATTR_CLIENT_INFO");
490-
return 0;
490+
return false;
491491
}
492-
return 1;
492+
return true;
493493
#else
494494
oci_drv_error("Unsupported attribute type");
495-
return 0;
495+
return false;
496496
#endif
497497
}
498498
case PDO_OCI_ATTR_CLIENT_IDENTIFIER:
499499
{
500500
#if (OCI_MAJOR_VERSION >= 10)
501501
zend_string *identifier = zval_try_get_string(val);
502502
if (UNEXPECTED(!identifier)) {
503-
return 0;
503+
return false;
504504
}
505505

506506
H->last_err = OCIAttrSet(H->session, OCI_HTYPE_SESSION,
507507
(dvoid *) ZSTR_VAL(identifier), (ub4) ZSTR_LEN(identifier),
508508
OCI_ATTR_CLIENT_IDENTIFIER, H->err);
509509
if (H->last_err) {
510510
oci_drv_error("OCIAttrSet: OCI_ATTR_CLIENT_IDENTIFIER");
511-
return 0;
511+
return false;
512512
}
513-
return 1;
513+
return true;
514514
#else
515515
oci_drv_error("Unsupported attribute type");
516-
return 0;
516+
return false;
517517
#endif
518518
}
519519
case PDO_OCI_ATTR_MODULE:
520520
{
521521
#if (OCI_MAJOR_VERSION >= 10)
522522
zend_string *module = zval_try_get_string(val);
523523
if (UNEXPECTED(!module)) {
524-
return 0;
524+
return false;
525525
}
526526

527527
H->last_err = OCIAttrSet(H->session, OCI_HTYPE_SESSION,
528528
(dvoid *) ZSTR_VAL(module), (ub4) ZSTR_LEN(module),
529529
OCI_ATTR_MODULE, H->err);
530530
if (H->last_err) {
531531
oci_drv_error("OCIAttrSet: OCI_ATTR_MODULE");
532-
return 0;
532+
return false;
533533
}
534-
return 1;
534+
return true;
535535
#else
536536
oci_drv_error("Unsupported attribute type");
537-
return 0;
537+
return false;
538538
#endif
539539
}
540540
case PDO_OCI_ATTR_CALL_TIMEOUT:
@@ -547,16 +547,16 @@ static int oci_handle_set_attribute(pdo_dbh_t *dbh, zend_long attr, zval *val) /
547547
OCI_ATTR_CALL_TIMEOUT, H->err);
548548
if (H->last_err) {
549549
oci_drv_error("OCIAttrSet: OCI_ATTR_CALL_TIMEOUT");
550-
return 0;
550+
return false;
551551
}
552-
return 1;
552+
return true;
553553
#else
554554
oci_drv_error("Unsupported attribute type");
555-
return 0;
555+
return false;
556556
#endif
557557
}
558558
default:
559-
return 0;
559+
return false;
560560
}
561561

562562
}

ext/pdo_odbc/odbc_driver.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -334,18 +334,18 @@ static bool odbc_handle_rollback(pdo_dbh_t *dbh)
334334
return true;
335335
}
336336

337-
static int odbc_handle_set_attr(pdo_dbh_t *dbh, zend_long attr, zval *val)
337+
static bool odbc_handle_set_attr(pdo_dbh_t *dbh, zend_long attr, zval *val)
338338
{
339339
pdo_odbc_db_handle *H = (pdo_odbc_db_handle *)dbh->driver_data;
340340
switch (attr) {
341341
case PDO_ODBC_ATTR_ASSUME_UTF8:
342342
H->assume_utf8 = zval_is_true(val);
343-
return 1;
343+
return true;
344344
default:
345345
strcpy(H->einfo.last_err_msg, "Unknown Attribute");
346346
H->einfo.what = "setAttribute";
347347
strcpy(H->einfo.last_state, "IM001");
348-
return 0;
348+
return false;
349349
}
350350
}
351351

ext/pdo_pgsql/pgsql_driver.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1149,20 +1149,20 @@ static const zend_function_entry *pdo_pgsql_get_driver_methods(pdo_dbh_t *dbh, i
11491149
}
11501150
}
11511151

1152-
static int pdo_pgsql_set_attr(pdo_dbh_t *dbh, zend_long attr, zval *val)
1152+
static bool pdo_pgsql_set_attr(pdo_dbh_t *dbh, zend_long attr, zval *val)
11531153
{
11541154
zend_bool bval = zval_get_long(val)? 1 : 0;
11551155
pdo_pgsql_db_handle *H = (pdo_pgsql_db_handle *)dbh->driver_data;
11561156

11571157
switch (attr) {
11581158
case PDO_ATTR_EMULATE_PREPARES:
11591159
H->emulate_prepares = bval;
1160-
return 1;
1160+
return true;
11611161
case PDO_PGSQL_ATTR_DISABLE_PREPARES:
11621162
H->disable_prepares = bval;
1163-
return 1;
1163+
return true;
11641164
default:
1165-
return 0;
1165+
return false;
11661166
}
11671167
}
11681168

0 commit comments

Comments
 (0)