Skip to content

Commit 68b9048

Browse files
committed
Factor out duplicated code
1 parent dc90390 commit 68b9048

File tree

1 file changed

+8
-12
lines changed

1 file changed

+8
-12
lines changed

ext/intl/idn/idn.c

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ static void php_intl_idn_to_46(INTERNAL_FUNCTION_PARAMETERS,
5757
UErrorCode status = U_ZERO_ERROR;
5858
UIDNA *uts46;
5959
int32_t len;
60+
int32_t buffer_capac;
6061
zend_string *buffer;
6162
UIDNAInfo info = UIDNA_INFO_INITIALIZER;
6263

@@ -66,25 +67,20 @@ static void php_intl_idn_to_46(INTERNAL_FUNCTION_PARAMETERS,
6667
}
6768

6869
if (mode == INTL_IDN_TO_ASCII) {
69-
const int32_t buffer_capac = 255;
70+
buffer_capac = 255;
7071
buffer = zend_string_alloc(buffer_capac, 0);
7172
len = uidna_nameToASCII_UTF8(uts46, ZSTR_VAL(domain), ZSTR_LEN(domain),
7273
ZSTR_VAL(buffer), buffer_capac, &info, &status);
73-
if (len >= buffer_capac || php_intl_idn_check_status(status, "failed to convert name") == FAILURE) {
74-
uidna_close(uts46);
75-
zend_string_efree(buffer);
76-
RETURN_FALSE;
77-
}
7874
} else {
79-
const int32_t buffer_capac = 252*4;
75+
buffer_capac = 252*4;
8076
buffer = zend_string_alloc(buffer_capac, 0);
8177
len = uidna_nameToUnicodeUTF8(uts46, ZSTR_VAL(domain), ZSTR_LEN(domain),
8278
ZSTR_VAL(buffer), buffer_capac, &info, &status);
83-
if (len >= buffer_capac || php_intl_idn_check_status(status, "failed to convert name") == FAILURE) {
84-
uidna_close(uts46);
85-
zend_string_efree(buffer);
86-
RETURN_FALSE;
87-
}
79+
}
80+
if (len >= buffer_capac || php_intl_idn_check_status(status, "failed to convert name") == FAILURE) {
81+
uidna_close(uts46);
82+
zend_string_efree(buffer);
83+
RETURN_FALSE;
8884
}
8985

9086
ZSTR_VAL(buffer)[len] = '\0';

0 commit comments

Comments
 (0)