Skip to content

Commit 07fe46f

Browse files
authored
Simplify checks and returns in ext/xmlwriter (#10701)
* The ptr check is redundant because XMLWRITER_FROM_OBJECT will return if ptr is NULL. * Use RETURN_BOOL to simplify the return code.
1 parent 382148d commit 07fe46f

File tree

1 file changed

+61
-168
lines changed

1 file changed

+61
-168
lines changed

ext/xmlwriter/php_xmlwriter.c

+61-168
Original file line numberDiff line numberDiff line change
@@ -215,14 +215,9 @@ static void php_xmlwriter_string_arg(INTERNAL_FUNCTION_PARAMETERS, xmlwriter_rea
215215
XMLW_NAME_CHK(2, subject_name);
216216
}
217217

218-
if (ptr) {
219-
retval = internal_function(ptr, (xmlChar *) name);
220-
if (retval != -1) {
221-
RETURN_TRUE;
222-
}
223-
}
218+
retval = internal_function(ptr, (xmlChar *) name);
224219

225-
RETURN_FALSE;
220+
RETURN_BOOL(retval != -1);
226221
}
227222

228223
static void php_xmlwriter_end(INTERNAL_FUNCTION_PARAMETERS, xmlwriter_read_int_t internal_function)
@@ -236,14 +231,9 @@ static void php_xmlwriter_end(INTERNAL_FUNCTION_PARAMETERS, xmlwriter_read_int_t
236231
}
237232
XMLWRITER_FROM_OBJECT(ptr, self);
238233

239-
if (ptr) {
240-
retval = internal_function(ptr);
241-
if (retval != -1) {
242-
RETURN_TRUE;
243-
}
244-
}
234+
retval = internal_function(ptr);
245235

246-
RETURN_FALSE;
236+
RETURN_BOOL(retval != -1);
247237
}
248238

249239
/* {{{ Toggle indentation on/off - returns FALSE on error */
@@ -259,14 +249,9 @@ PHP_FUNCTION(xmlwriter_set_indent)
259249
}
260250
XMLWRITER_FROM_OBJECT(ptr, self);
261251

262-
if (ptr) {
263-
retval = xmlTextWriterSetIndent(ptr, indent);
264-
if (retval == 0) {
265-
RETURN_TRUE;
266-
}
267-
}
252+
retval = xmlTextWriterSetIndent(ptr, indent);
268253

269-
RETURN_FALSE;
254+
RETURN_BOOL(retval == 0);
270255
}
271256
/* }}} */
272257

@@ -308,14 +293,9 @@ PHP_FUNCTION(xmlwriter_start_attribute_ns)
308293

309294
XMLW_NAME_CHK(3, "attribute name");
310295

311-
if (ptr) {
312-
retval = xmlTextWriterStartAttributeNS(ptr, (xmlChar *)prefix, (xmlChar *)name, (xmlChar *)uri);
313-
if (retval != -1) {
314-
RETURN_TRUE;
315-
}
316-
}
296+
retval = xmlTextWriterStartAttributeNS(ptr, (xmlChar *)prefix, (xmlChar *)name, (xmlChar *)uri);
317297

318-
RETURN_FALSE;
298+
RETURN_BOOL(retval != -1);
319299
}
320300
/* }}} */
321301

@@ -336,14 +316,9 @@ PHP_FUNCTION(xmlwriter_write_attribute)
336316

337317
XMLW_NAME_CHK(2, "attribute name");
338318

339-
if (ptr) {
340-
retval = xmlTextWriterWriteAttribute(ptr, (xmlChar *)name, (xmlChar *)content);
341-
if (retval != -1) {
342-
RETURN_TRUE;
343-
}
344-
}
319+
retval = xmlTextWriterWriteAttribute(ptr, (xmlChar *)name, (xmlChar *)content);
345320

346-
RETURN_FALSE;
321+
RETURN_BOOL(retval != -1);
347322
}
348323
/* }}} */
349324

@@ -364,14 +339,9 @@ PHP_FUNCTION(xmlwriter_write_attribute_ns)
364339

365340
XMLW_NAME_CHK(3, "attribute name");
366341

367-
if (ptr) {
368-
retval = xmlTextWriterWriteAttributeNS(ptr, (xmlChar *)prefix, (xmlChar *)name, (xmlChar *)uri, (xmlChar *)content);
369-
if (retval != -1) {
370-
RETURN_TRUE;
371-
}
372-
}
342+
retval = xmlTextWriterWriteAttributeNS(ptr, (xmlChar *)prefix, (xmlChar *)name, (xmlChar *)uri, (xmlChar *)content);
373343

374-
RETURN_FALSE;
344+
RETURN_BOOL(retval != -1);
375345
}
376346
/* }}} */
377347

@@ -399,15 +369,9 @@ PHP_FUNCTION(xmlwriter_start_element_ns)
399369

400370
XMLW_NAME_CHK(3, "element name");
401371

402-
if (ptr) {
403-
retval = xmlTextWriterStartElementNS(ptr, (xmlChar *)prefix, (xmlChar *)name, (xmlChar *)uri);
404-
if (retval != -1) {
405-
RETURN_TRUE;
406-
}
407-
408-
}
372+
retval = xmlTextWriterStartElementNS(ptr, (xmlChar *)prefix, (xmlChar *)name, (xmlChar *)uri);
409373

410-
RETURN_FALSE;
374+
RETURN_BOOL(retval != -1);
411375
}
412376
/* }}} */
413377

@@ -442,25 +406,17 @@ PHP_FUNCTION(xmlwriter_write_element)
442406

443407
XMLW_NAME_CHK(2, "element name");
444408

445-
if (ptr) {
446-
if (!content) {
447-
retval = xmlTextWriterStartElement(ptr, (xmlChar *)name);
448-
if (retval == -1) {
449-
RETURN_FALSE;
450-
}
451-
retval = xmlTextWriterEndElement(ptr);
452-
if (retval == -1) {
453-
RETURN_FALSE;
454-
}
455-
} else {
456-
retval = xmlTextWriterWriteElement(ptr, (xmlChar *)name, (xmlChar *)content);
457-
}
458-
if (retval != -1) {
459-
RETURN_TRUE;
409+
if (!content) {
410+
retval = xmlTextWriterStartElement(ptr, (xmlChar *)name);
411+
if (retval == -1) {
412+
RETURN_FALSE;
460413
}
414+
retval = xmlTextWriterEndElement(ptr);
415+
} else {
416+
retval = xmlTextWriterWriteElement(ptr, (xmlChar *)name, (xmlChar *)content);
461417
}
462418

463-
RETURN_FALSE;
419+
RETURN_BOOL(retval != -1);
464420
}
465421
/* }}} */
466422

@@ -481,25 +437,17 @@ PHP_FUNCTION(xmlwriter_write_element_ns)
481437

482438
XMLW_NAME_CHK(3, "element name");
483439

484-
if (ptr) {
485-
if (!content) {
486-
retval = xmlTextWriterStartElementNS(ptr,(xmlChar *)prefix, (xmlChar *)name, (xmlChar *)uri);
487-
if (retval == -1) {
488-
RETURN_FALSE;
489-
}
490-
retval = xmlTextWriterEndElement(ptr);
491-
if (retval == -1) {
492-
RETURN_FALSE;
493-
}
494-
} else {
495-
retval = xmlTextWriterWriteElementNS(ptr, (xmlChar *)prefix, (xmlChar *)name, (xmlChar *)uri, (xmlChar *)content);
496-
}
497-
if (retval != -1) {
498-
RETURN_TRUE;
440+
if (!content) {
441+
retval = xmlTextWriterStartElementNS(ptr,(xmlChar *)prefix, (xmlChar *)name, (xmlChar *)uri);
442+
if (retval == -1) {
443+
RETURN_FALSE;
499444
}
445+
retval = xmlTextWriterEndElement(ptr);
446+
} else {
447+
retval = xmlTextWriterWriteElementNS(ptr, (xmlChar *)prefix, (xmlChar *)name, (xmlChar *)uri, (xmlChar *)content);
500448
}
501449

502-
RETURN_FALSE;
450+
RETURN_BOOL(retval != -1);
503451
}
504452
/* }}} */
505453

@@ -534,14 +482,9 @@ PHP_FUNCTION(xmlwriter_write_pi)
534482

535483
XMLW_NAME_CHK(2, "PI target");
536484

537-
if (ptr) {
538-
retval = xmlTextWriterWritePI(ptr, (xmlChar *)name, (xmlChar *)content);
539-
if (retval != -1) {
540-
RETURN_TRUE;
541-
}
542-
}
485+
retval = xmlTextWriterWritePI(ptr, (xmlChar *)name, (xmlChar *)content);
543486

544-
RETURN_FALSE;
487+
RETURN_BOOL(retval != -1);
545488
}
546489
/* }}} */
547490

@@ -557,14 +500,9 @@ PHP_FUNCTION(xmlwriter_start_cdata)
557500
}
558501
XMLWRITER_FROM_OBJECT(ptr, self);
559502

560-
if (ptr) {
561-
retval = xmlTextWriterStartCDATA(ptr);
562-
if (retval != -1) {
563-
RETURN_TRUE;
564-
}
565-
}
503+
retval = xmlTextWriterStartCDATA(ptr);
566504

567-
RETURN_FALSE;
505+
RETURN_BOOL(retval != -1);
568506
}
569507
/* }}} */
570508

@@ -608,14 +546,9 @@ PHP_FUNCTION(xmlwriter_start_comment)
608546
}
609547
XMLWRITER_FROM_OBJECT(ptr, self);
610548

611-
if (ptr) {
612-
retval = xmlTextWriterStartComment(ptr);
613-
if (retval != -1) {
614-
RETURN_TRUE;
615-
}
616-
}
549+
retval = xmlTextWriterStartComment(ptr);
617550

618-
RETURN_FALSE;
551+
RETURN_BOOL(retval != -1);
619552
}
620553
/* }}} */
621554

@@ -647,14 +580,9 @@ PHP_FUNCTION(xmlwriter_start_document)
647580
}
648581
XMLWRITER_FROM_OBJECT(ptr, self);
649582

650-
if (ptr) {
651-
retval = xmlTextWriterStartDocument(ptr, version, enc, alone);
652-
if (retval != -1) {
653-
RETURN_TRUE;
654-
}
655-
}
583+
retval = xmlTextWriterStartDocument(ptr, version, enc, alone);
656584

657-
RETURN_FALSE;
585+
RETURN_BOOL(retval != -1);
658586
}
659587
/* }}} */
660588

@@ -679,14 +607,9 @@ PHP_FUNCTION(xmlwriter_start_dtd)
679607
}
680608
XMLWRITER_FROM_OBJECT(ptr, self);
681609

682-
if (ptr) {
683-
retval = xmlTextWriterStartDTD(ptr, (xmlChar *)name, (xmlChar *)pubid, (xmlChar *)sysid);
684-
if (retval != -1) {
685-
RETURN_TRUE;
686-
}
687-
}
610+
retval = xmlTextWriterStartDTD(ptr, (xmlChar *)name, (xmlChar *)pubid, (xmlChar *)sysid);
688611

689-
RETURN_FALSE;
612+
RETURN_BOOL(retval != -1);
690613
}
691614
/* }}} */
692615

@@ -711,14 +634,9 @@ PHP_FUNCTION(xmlwriter_write_dtd)
711634
}
712635
XMLWRITER_FROM_OBJECT(ptr, self);
713636

714-
if (ptr) {
715-
retval = xmlTextWriterWriteDTD(ptr, (xmlChar *)name, (xmlChar *)pubid, (xmlChar *)sysid, (xmlChar *)subset);
716-
if (retval != -1) {
717-
RETURN_TRUE;
718-
}
719-
}
637+
retval = xmlTextWriterWriteDTD(ptr, (xmlChar *)name, (xmlChar *)pubid, (xmlChar *)sysid, (xmlChar *)subset);
720638

721-
RETURN_FALSE;
639+
RETURN_BOOL(retval != -1);
722640
}
723641
/* }}} */
724642

@@ -753,14 +671,9 @@ PHP_FUNCTION(xmlwriter_write_dtd_element)
753671

754672
XMLW_NAME_CHK(2, "element name");
755673

756-
if (ptr) {
757-
retval = xmlTextWriterWriteDTDElement(ptr, (xmlChar *)name, (xmlChar *)content);
758-
if (retval != -1) {
759-
RETURN_TRUE;
760-
}
761-
}
674+
retval = xmlTextWriterWriteDTDElement(ptr, (xmlChar *)name, (xmlChar *)content);
762675

763-
RETURN_FALSE;
676+
RETURN_BOOL(retval != -1);
764677
}
765678
/* }}} */
766679

@@ -795,14 +708,9 @@ PHP_FUNCTION(xmlwriter_write_dtd_attlist)
795708

796709
XMLW_NAME_CHK(2, "element name");
797710

798-
if (ptr) {
799-
retval = xmlTextWriterWriteDTDAttlist(ptr, (xmlChar *)name, (xmlChar *)content);
800-
if (retval != -1) {
801-
RETURN_TRUE;
802-
}
803-
}
711+
retval = xmlTextWriterWriteDTDAttlist(ptr, (xmlChar *)name, (xmlChar *)content);
804712

805-
RETURN_FALSE;
713+
RETURN_BOOL(retval != -1);
806714
}
807715
/* }}} */
808716

@@ -823,14 +731,9 @@ PHP_FUNCTION(xmlwriter_start_dtd_entity)
823731

824732
XMLW_NAME_CHK(2, "attribute name");
825733

826-
if (ptr) {
827-
retval = xmlTextWriterStartDTDEntity(ptr, isparm, (xmlChar *)name);
828-
if (retval != -1) {
829-
RETURN_TRUE;
830-
}
831-
}
734+
retval = xmlTextWriterStartDTDEntity(ptr, isparm, (xmlChar *)name);
832735

833-
RETURN_FALSE;
736+
RETURN_BOOL(retval != -1);
834737
}
835738
/* }}} */
836739

@@ -863,14 +766,9 @@ PHP_FUNCTION(xmlwriter_write_dtd_entity)
863766

864767
XMLW_NAME_CHK(2, "element name");
865768

866-
if (ptr) {
867-
retval = xmlTextWriterWriteDTDEntity(ptr, pe, (xmlChar *)name, (xmlChar *)pubid, (xmlChar *)sysid, (xmlChar *)ndataid, (xmlChar *)content);
868-
if (retval != -1) {
869-
RETURN_TRUE;
870-
}
871-
}
769+
retval = xmlTextWriterWriteDTDEntity(ptr, pe, (xmlChar *)name, (xmlChar *)pubid, (xmlChar *)sysid, (xmlChar *)ndataid, (xmlChar *)content);
872770

873-
RETURN_FALSE;
771+
RETURN_BOOL(retval != -1);
874772
}
875773
/* }}} */
876774

@@ -993,24 +891,19 @@ static void php_xmlwriter_flush(INTERNAL_FUNCTION_PARAMETERS, int force_string)
993891
}
994892
XMLWRITER_FROM_OBJECT(ptr, self);
995893

996-
if (ptr) {
997-
buffer = Z_XMLWRITER_P(self)->output;
998-
if (force_string == 1 && buffer == NULL) {
999-
RETURN_EMPTY_STRING();
1000-
}
1001-
output_bytes = xmlTextWriterFlush(ptr);
1002-
if (buffer) {
1003-
RETVAL_STRING((char *) buffer->content);
1004-
if (empty) {
1005-
xmlBufferEmpty(buffer);
1006-
}
1007-
} else {
1008-
RETVAL_LONG(output_bytes);
894+
buffer = Z_XMLWRITER_P(self)->output;
895+
if (force_string == 1 && buffer == NULL) {
896+
RETURN_EMPTY_STRING();
897+
}
898+
output_bytes = xmlTextWriterFlush(ptr);
899+
if (buffer) {
900+
RETVAL_STRING((char *) buffer->content);
901+
if (empty) {
902+
xmlBufferEmpty(buffer);
1009903
}
1010-
return;
904+
} else {
905+
RETVAL_LONG(output_bytes);
1011906
}
1012-
1013-
RETURN_EMPTY_STRING();
1014907
}
1015908
/* }}} */
1016909

0 commit comments

Comments
 (0)