Skip to content

Commit ae3af5a

Browse files
committed
Fix GH-17469: UConverter::transcode() not hardcoding error handling.
Respecting instead intl.use_exceptions/intl.error_level.
1 parent a6a290d commit ae3af5a

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

ext/intl/converter/converter.c

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -376,25 +376,31 @@ static bool php_converter_set_encoding(php_converter_object *objval,
376376
/* Should never happen */
377377
actual_encoding = "(unknown)";
378378
}
379-
php_error_docref(NULL, E_WARNING, "Ambiguous encoding specified, using %s", actual_encoding);
379+
char *msg;
380+
spprintf(&msg, 0, "Ambigious encoding specified, using %s", actual_encoding);
381+
intl_error_set(NULL, error, msg, 1);
382+
efree(msg);
380383
} else if (U_FAILURE(error)) {
381384
if (objval) {
382385
THROW_UFAILURE(objval, "ucnv_open", error);
383386
} else {
384-
php_error_docref(NULL, E_WARNING, "Error setting encoding: %d - %s", (int)error, u_errorName(error));
387+
char *msg;
388+
spprintf(&msg, 0, "Error setting encoding: %d - %s", (int)error, u_errorName(error));
389+
intl_error_set(NULL, error, msg, 1);
390+
efree(msg);
385391
}
386-
return 0;
392+
return false;
387393
}
388394

389395
if (objval && !php_converter_set_callbacks(objval, cnv)) {
390-
return 0;
396+
return false;
391397
}
392398

393399
if (*pcnv) {
394400
ucnv_close(*pcnv);
395401
}
396402
*pcnv = cnv;
397-
return 1;
403+
return true;
398404
}
399405
/* }}} */
400406

0 commit comments

Comments
 (0)