php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login

Patch fix-segault-caused-by-svn_utf_cstring_to_utf8 for svn Bug #63824

Patch version 2012-12-21 06:00 UTC

Return to Bug #63824 | Download this patch
Patch Revisions:

Developer: mountkin@gmail.com

Index: config.m4
===================================================================
--- config.m4	(revision 328740)
+++ config.m4	(working copy)
@@ -74,6 +74,10 @@
 	PHP_SVN_INCLUDES="$PHP_SVN_INCLUDES $APR_INCLUDES"
 	PHP_SVN_LDFLAGS="$PHP_SVN_LDFLAGS $APR_LDFLAGS"
 
+	if test "x$PHP_SVN" != "x" && test -d "$PHP_SVN/lib" ; then
+		PHP_SVN_LDFLAGS=" -L$PHP_SVN/lib $PHP_SVN_LDFLAGS"
+	fi
+
 	echo libsvn includes: \"$PHP_SVN_INCLUDES\"
 	echo libsvn ldflags: \"$PHP_SVN_LDFLAGS\"
 
Index: svn.c
===================================================================
--- svn.c	(revision 328740)
+++ svn.c	(working copy)
@@ -45,6 +45,7 @@
 #include "svn_props.h"
 #include "svn_version.h"
 
+
 ZEND_DECLARE_MODULE_GLOBALS(svn)
 
 /* custom property for ignoring SSL cert verification errors */
@@ -54,6 +55,21 @@
 		RETURN_FALSE;\
 	}
 
+/* 
+ * TODO: automatically detect the source character encoding and 
+ * call svn_utf_cstring_to_utf8_ex2 instead.
+ * */
+#define PHP_SVN_CONVERT_STR_TO_UTF8(dest, src, pool)            \
+	do {                                                        \
+        svn_error_t *_err;                                      \
+		_err = svn_utf_cstring_to_utf8 ((dest), (src), (pool)); \
+		if (_err) {                                             \
+			php_svn_handle_error(_err TSRMLS_CC);               \
+			svn_pool_destroy((pool));                           \
+			RETURN_FALSE;                                       \
+        }                                                       \
+	} while (0)
+
 static void php_svn_get_version(char *buf, int buflen);
 
 /* True global resources - no need for thread safety here */
@@ -202,6 +218,7 @@
 };
 /* }}} */
 
+
 /* {{{ svn_module_entry */
 zend_module_entry svn_module_entry = {
 #if ZEND_MODULE_API_NO >= 20010901
@@ -452,7 +469,7 @@
 	}
 
 	if (config_path) {
-		svn_utf_cstring_to_utf8 (&utf8_path, config_path, subpool);
+		PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_path, config_path, subpool);
 		config_path = svn_path_canonicalize(utf8_path, subpool);
 	}
 
@@ -493,7 +510,7 @@
 		RETURN_FALSE;
 	}
 
-	svn_utf_cstring_to_utf8 (&utf8_path, path, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_path, path, subpool);
 	path = svn_path_canonicalize(utf8_path, subpool);
 
 	err = svn_client_import(&commit_info_p, path, url, nonrecursive,
@@ -727,18 +744,8 @@
 		RETURN_FALSE;
 	}
 
-	err = svn_utf_cstring_to_utf8 (&utf8_repos_url, repos_url, subpool);
-	if (err) {
-		php_svn_handle_error(err TSRMLS_CC);
-		RETVAL_FALSE;
-		goto cleanup;
-	}
-	err = svn_utf_cstring_to_utf8 (&utf8_target_path, target_path, subpool);
-	if (err) {
-		php_svn_handle_error(err TSRMLS_CC);
-		RETVAL_FALSE;
-		goto cleanup;
-	}
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_repos_url, repos_url, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_target_path, target_path, subpool);
 
 	can_repos_url= svn_path_canonicalize(utf8_repos_url, subpool);
 	can_target_path = svn_path_canonicalize(utf8_target_path, subpool);
@@ -818,11 +825,7 @@
 		goto cleanup;
 	}
 
-	err = svn_utf_cstring_to_utf8 (&utf8_url, url, subpool);
-	if (err) {
-		php_svn_handle_error(err TSRMLS_CC);
-		goto cleanup;
-	}
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_url, url, subpool);
 
 	url = svn_path_canonicalize(utf8_url, subpool);
 
@@ -886,14 +889,8 @@
 		RETURN_FALSE;
 	}
 
-	err = svn_utf_cstring_to_utf8 (&utf8_repos_url, repos_url, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_repos_url, repos_url, subpool);
 
-	if (err) {
-		php_svn_handle_error(err TSRMLS_CC);
-		RETVAL_FALSE;
-		goto cleanup;
-	}
-
 	repos_url = svn_path_canonicalize(utf8_repos_url, subpool);
 
 	revision.kind = php_svn_get_revision_kind(revision); 
@@ -957,7 +954,7 @@
 			timestr[0] = '\0';
 
 		/* we need it in UTF-8. */
-		svn_utf_cstring_to_utf8 (&utf8_timestr, timestr, subpool);
+		PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_timestr, timestr, subpool);
 
 		MAKE_STD_ZVAL(row);
 		array_init(row);
@@ -1090,12 +1087,7 @@
 	}
 	RETVAL_FALSE;
 
-	err = svn_utf_cstring_to_utf8 (&utf8_url, url, subpool);
-	if (err) {
-		php_svn_handle_error(err TSRMLS_CC);
-		svn_pool_destroy(subpool);
-		return;
-	}
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_url, url, subpool);
 
 	if ((ZEND_NUM_ARGS() > 2) && (end_revision.value.number == svn_opt_revision_unspecified)) {
 		end_revision.value.number = SVN_REVISION_INITIAL;
@@ -1348,7 +1340,7 @@
 		RETURN_FALSE;
 	}
 
-	svn_utf_cstring_to_utf8 (&utf8_workingdir, workingdir, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_workingdir, workingdir, subpool);
 	workingdir = svn_path_canonicalize(utf8_workingdir, subpool);
 
 	err = svn_client_cleanup(workingdir, SVN_G(ctx), subpool);
@@ -1386,7 +1378,7 @@
 	}
 	RETVAL_FALSE;
 
-	svn_utf_cstring_to_utf8 (&utf8_path, path, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_path, path, subpool);
 
 	targets = apr_array_make (subpool, 1, sizeof(char *));
 
@@ -1430,7 +1422,7 @@
 	}
 	RETVAL_FALSE;
 
-	svn_utf_cstring_to_utf8 (&utf8_path, path, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_path, path, subpool);
 
 	path = svn_path_canonicalize(utf8_path, subpool);
 
@@ -1648,7 +1640,7 @@
 		RETURN_FALSE;
 	}
 
-	svn_utf_cstring_to_utf8 (&utf8_path, path, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_path, path, subpool);
 	path = svn_path_canonicalize(utf8_path, subpool);
 
 	err = svn_fs_file_contents(&svnstm, fsroot->root, path, SVN_G(pool));
@@ -1690,7 +1682,7 @@
 		RETURN_FALSE;
 	}
 
-	svn_utf_cstring_to_utf8 (&utf8_path, path, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_path, path, subpool);
 	path = svn_path_canonicalize(utf8_path, subpool);
 
 	err = svn_fs_file_length(&len, fsroot->root, path, subpool);
@@ -1732,7 +1724,7 @@
 		RETURN_FALSE;
 	}
 
-	svn_utf_cstring_to_utf8 (&utf8_path, path, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_path, path, subpool);
 	path = svn_path_canonicalize(utf8_path, subpool);
 
 	err = svn_fs_node_prop(&val, fsroot->root, path, propname, subpool);
@@ -1777,7 +1769,7 @@
 		RETURN_FALSE;
 	}
 
-	svn_utf_cstring_to_utf8 (&utf8_path, path, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_path, path, subpool);
 	path = svn_path_canonicalize(utf8_path, subpool);
 
 	err = svn_fs_node_created_rev(&rev, fsroot->root, path, subpool);
@@ -1822,7 +1814,7 @@
 		RETURN_FALSE;
 	}
 
-	svn_utf_cstring_to_utf8 (&utf8_path, path, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_path, path, subpool);
 	path = svn_path_canonicalize(utf8_path, subpool);
 
 	err = svn_fs_dir_entries(&hash, fsroot->root, path, subpool);
@@ -1867,7 +1859,7 @@
 		RETURN_FALSE;
 	}
 
-	svn_utf_cstring_to_utf8 (&utf8_path, path, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_path, path, subpool);
 	path = svn_path_canonicalize(utf8_path, subpool);
 
 	err = svn_fs_check_path(&kind, fsroot->root, path, subpool);
@@ -1930,7 +1922,7 @@
 		RETURN_FALSE;
 	}
 
-	svn_utf_cstring_to_utf8 (&utf8_path, path, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_path, path, subpool);
 	path = svn_path_canonicalize(utf8_path, subpool);
 
 	err = svn_repos_open(&repos, path, subpool);
@@ -2018,13 +2010,7 @@
 		RETURN_FALSE;
 	}
 
-	err = svn_utf_cstring_to_utf8 (&utf8_path, path, subpool);
-	if (err) {
-		php_svn_handle_error(err TSRMLS_CC);
-		RETVAL_FALSE;
-		goto cleanup;
-	}
-
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_path, path, subpool);
 	path = svn_path_canonicalize(utf8_path, subpool);
 
 	revision.value.number = revnum;
@@ -2084,20 +2070,9 @@
 		RETURN_FALSE;
 	}
 
-	err = svn_utf_cstring_to_utf8 (&utf8_from_path, from, subpool);
-	if (err) {
-		php_svn_handle_error(err TSRMLS_CC);
-		RETVAL_FALSE;
-		goto cleanup;
-	}
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_from_path, from, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_to_path, to, subpool);
 
-	err = svn_utf_cstring_to_utf8 (&utf8_to_path, to, subpool);
-	if (err) {
-		php_svn_handle_error(err TSRMLS_CC);
-		RETVAL_FALSE;
-		goto cleanup;
-	}
-
 	from = svn_path_canonicalize(utf8_from_path, subpool);
 	to = svn_path_canonicalize(utf8_to_path, subpool);
 
@@ -2148,8 +2123,8 @@
 		RETURN_FALSE;
 	}
 
-	svn_utf_cstring_to_utf8 (&utf8_path, path, subpool);
-	svn_utf_cstring_to_utf8 (&utf8_url, url, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_path, path, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_url, url, subpool);
 
 	path = svn_path_canonicalize(utf8_path, subpool);
 	url = svn_path_canonicalize(utf8_url, subpool);
@@ -2201,8 +2176,8 @@
 		RETURN_FALSE;
 	}
 
-	svn_utf_cstring_to_utf8 (&utf8_src_path, src_path, subpool);
-	svn_utf_cstring_to_utf8 (&utf8_dst_path, dst_path, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_src_path, src_path, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_dst_path, dst_path, subpool);
 
 	src_path = svn_path_canonicalize(utf8_src_path, subpool);
 	dst_path = svn_path_canonicalize(utf8_dst_path, subpool);
@@ -2310,13 +2285,7 @@
 		RETURN_FALSE;
 	}
 
-	err = svn_utf_cstring_to_utf8 (&utf8_repos_url, repos_url, subpool);
-	if (err) {
-		php_svn_handle_error(err TSRMLS_CC);
-		RETVAL_FALSE;
-		goto cleanup;
-	}
-
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_repos_url, repos_url, subpool);
 	repos_url = svn_path_canonicalize(utf8_repos_url, subpool);
 	
 	start_revision.kind =  svn_opt_revision_number;
@@ -2382,7 +2351,7 @@
 		RETURN_FALSE;
 	}
 
-	svn_utf_cstring_to_utf8 (&utf8_path, path, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_path, path, subpool);
 
 	targets = apr_array_make (subpool, 1, sizeof(char *));
 	APR_ARRAY_PUSH(targets, const char *) = svn_path_canonicalize(utf8_path, subpool);
@@ -2442,14 +2411,8 @@
 		RETURN_FALSE;
 	}
 
-	err = svn_utf_cstring_to_utf8 (&utf8_path, path, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_path, path, subpool);
 
-	if (err) {
-		php_svn_handle_error(err TSRMLS_CC);
-		svn_pool_destroy(subpool);
-		RETURN_FALSE;
-	}
-
 	SVN_G(ctx)->log_msg_baton = NULL;
 
 	if (loglen) {
@@ -2524,8 +2487,8 @@
 		RETURN_FALSE;
 	}
 
-	svn_utf_cstring_to_utf8 (&utf8_src_path, src_path, subpool);
-	svn_utf_cstring_to_utf8 (&utf8_dst_path, dst_path, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_src_path, src_path, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_dst_path, dst_path, subpool);
 
 	src_path = svn_path_canonicalize(utf8_src_path, subpool);
 	dst_path = svn_path_canonicalize(utf8_dst_path, subpool);
@@ -2583,12 +2546,7 @@
 		RETURN_FALSE;
 	}
 
-	err = svn_utf_cstring_to_utf8 (&utf8_path, path, subpool); 
-	if (err) { 
-		php_svn_handle_error(err TSRMLS_CC); 
-		RETVAL_FALSE; 
-		goto cleanup; 
-	} 
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_path, path, subpool); 
 
 	path = svn_path_canonicalize(utf8_path, subpool);
 	
@@ -2665,13 +2623,7 @@
 		RETURN_FALSE;
 	}
 
-	err = svn_utf_cstring_to_utf8 (&utf8_path, path, subpool); 
-	if (err) { 
-		php_svn_handle_error(err TSRMLS_CC); 
-		RETVAL_FALSE; 
-		goto cleanup; 
-	} 
-
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_path, path, subpool); 
 	path = svn_path_canonicalize(utf8_path, subpool);
 	
 	revision.kind = php_svn_get_revision_kind(revision); 
@@ -2741,14 +2693,7 @@
 		RETURN_FALSE;
 	}
 
-	err = svn_utf_cstring_to_utf8 (&utf8_path, path, subpool);
-	if (err)
-	{
-		php_svn_handle_error(err TSRMLS_CC);
-		svn_pool_destroy(subpool);
-		RETURN_FALSE;
-	}
-
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_path, path, subpool);
 	path = svn_path_canonicalize(utf8_path, subpool);
 
 	config_hash = replicate_zend_hash_to_apr_hash(config, subpool TSRMLS_CC);
@@ -2793,7 +2738,7 @@
 		RETURN_FALSE;
 	}
 
-	svn_utf_cstring_to_utf8 (&utf8_path, path, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_path, path, subpool);
 	path = svn_path_canonicalize(utf8_path, subpool);
 
 	err = svn_repos_recover2(path, 0, NULL, NULL, subpool);
@@ -2831,8 +2776,8 @@
 		RETURN_FALSE;
 	}
 
-	svn_utf_cstring_to_utf8 (&utf8_src_path, src_path, subpool);
-	svn_utf_cstring_to_utf8 (&utf8_dst_path, dst_path, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_src_path, src_path, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_dst_path, dst_path, subpool);
 
 	src_path = svn_path_canonicalize(utf8_src_path, subpool);
 	dst_path = svn_path_canonicalize(utf8_dst_path, subpool);
@@ -2909,12 +2854,7 @@
 	SVN_G(ctx)->log_msg_baton = log;
 
 	if (path) {
-		err = svn_utf_cstring_to_utf8 (&utf8_path, path, subpool);
-		if (err) {
-			php_svn_handle_error(err TSRMLS_CC);
-			RETVAL_FALSE;
-			goto cleanup;
-		}
+		PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_path, path, subpool);
 		path = svn_path_canonicalize(utf8_path, subpool);
 
 		targets_array = apr_array_make (subpool, 1, sizeof(char *));
@@ -2983,7 +2923,7 @@
 	}
 
 	if (path) {
-		svn_utf_cstring_to_utf8 (&utf8_path, path, subpool);
+		PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_path, path, subpool);
 		path = svn_path_canonicalize(utf8_path, subpool);
 
 		targets_array = apr_array_make (subpool, 1, sizeof(char *));
@@ -3034,7 +2974,7 @@
 	}
 
 	if (path) {
-		svn_utf_cstring_to_utf8 (&utf8_path, path, subpool);
+		PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_path, path, subpool);
 		path = svn_path_canonicalize(utf8_path, subpool);
 
 		targets_array = apr_array_make (subpool, 1, sizeof(char *));
@@ -3079,13 +3019,7 @@
 		RETURN_FALSE;
 	}
 
-	err = svn_utf_cstring_to_utf8 (&utf8_path, path, subpool);
-	if (err) {
-		php_svn_handle_error(err TSRMLS_CC);
-		RETVAL_FALSE;
-		goto cleanup;
-	}
-
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_path, path, subpool);
 	path = svn_path_canonicalize(utf8_path, subpool);
 
 	err = svn_client_add2((const char*)path, recurse, force, SVN_G(ctx), subpool);
@@ -3186,12 +3120,7 @@
 		RETURN_FALSE;
 	}
 
-	err = svn_utf_cstring_to_utf8 (&utf8_path, path, subpool);
-	if (err) {
-		php_svn_handle_error(err TSRMLS_CC);
-		RETVAL_FALSE;
-		goto cleanup;
-	}
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_path, path, subpool);
 	path = svn_path_canonicalize(utf8_path, subpool);
 
 	array_init(return_value);
@@ -3248,14 +3177,7 @@
 		RETURN_FALSE;
 	}
 
-	err = svn_utf_cstring_to_utf8 (&utf8_path, path, subpool);
-	if (err)
-	{
-		php_svn_handle_error(err TSRMLS_CC);
-		RETVAL_FALSE;
-		goto cleanup;
-	}
-
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_path, path, subpool);
 	path = svn_path_canonicalize(utf8_path, subpool);
 
 	rev.value.number = revno;
@@ -3435,7 +3357,7 @@
 		RETURN_FALSE;
 	}
 
-	svn_utf_cstring_to_utf8 (&utf8_path, path, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_path, path, subpool);
 	path = svn_path_canonicalize(utf8_path, subpool);
 
 	ZEND_FETCH_RESOURCE(root, struct php_svn_fs_root *, &zroot, -1, "svn-fs-root", le_svn_fs_root);
@@ -3473,7 +3395,7 @@
 		RETURN_FALSE;
 	}
 
-	svn_utf_cstring_to_utf8 (&utf8_path, path, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_path, path, subpool);
 	path = svn_path_canonicalize(utf8_path, subpool);
 
 	ZEND_FETCH_RESOURCE(root, struct php_svn_fs_root *, &zroot, -1, "svn-fs-root", le_svn_fs_root);
@@ -3514,7 +3436,7 @@
 		RETURN_FALSE;
 	}
 
-	svn_utf_cstring_to_utf8 (&utf8_path, path, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_path, path, subpool);
 	path = svn_path_canonicalize(utf8_path, subpool);
 
 	ZEND_FETCH_RESOURCE(root, struct php_svn_fs_root *, &zroot, -1, "svn-fs-root", le_svn_fs_root);
@@ -3560,8 +3482,8 @@
 		RETURN_FALSE;
 	}
 
-	svn_utf_cstring_to_utf8 (&utf8_from_path, from_path, subpool);
-	svn_utf_cstring_to_utf8 (&utf8_to_path, to_path, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_from_path, from_path, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_to_path, to_path, subpool);
 
 	from_path = svn_path_canonicalize(utf8_from_path, subpool);
 	to_path = svn_path_canonicalize(utf8_to_path, subpool);
@@ -3602,7 +3524,7 @@
 		RETURN_FALSE;
 	}
 
-	svn_utf_cstring_to_utf8 (&utf8_path, path, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_path, path, subpool);
 	path = svn_path_canonicalize(utf8_path, subpool);
 
 	ZEND_FETCH_RESOURCE(root, struct php_svn_fs_root *, &zroot, -1, "svn-fs-root", le_svn_fs_root);
@@ -3679,7 +3601,7 @@
 		RETURN_FALSE;
 	}
 
-	svn_utf_cstring_to_utf8 (&utf8_path, path, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_path, path, subpool);
 	path = svn_path_canonicalize(utf8_path, subpool);
 
 	ZEND_FETCH_RESOURCE(root, struct php_svn_fs_root *, &zroot, -1, "svn-fs-root", le_svn_fs_root);
@@ -3718,7 +3640,7 @@
 		RETURN_FALSE;
 	}
 
-	svn_utf_cstring_to_utf8 (&utf8_path, path, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_path, path, subpool);
 	path = svn_path_canonicalize(utf8_path, subpool);
 
 	ZEND_FETCH_RESOURCE(root, struct php_svn_fs_root *, &zroot, -1, "svn-fs-root", le_svn_fs_root);
@@ -3758,7 +3680,7 @@
 		RETURN_FALSE;
 	}
 
-	svn_utf_cstring_to_utf8 (&utf8_path, path, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_path, path, subpool);
 	path = svn_path_canonicalize(utf8_path, subpool);
 
 	ZEND_FETCH_RESOURCE(root, struct php_svn_fs_root *, &zroot, -1, "svn-fs-root", le_svn_fs_root);
@@ -3807,8 +3729,8 @@
 		RETURN_FALSE;
 	}
 
-	svn_utf_cstring_to_utf8 (&utf8_path1, path1, subpool);
-	svn_utf_cstring_to_utf8 (&utf8_path2, path2, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_path1, path1, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_path2, path2, subpool);
 
 	path1 = svn_path_canonicalize(utf8_path1, subpool);
 	path2 = svn_path_canonicalize(utf8_path2, subpool);
@@ -3855,8 +3777,8 @@
 		RETURN_FALSE;
 	}
 
-	svn_utf_cstring_to_utf8 (&utf8_path1, path1, subpool);
-	svn_utf_cstring_to_utf8 (&utf8_path2, path2, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_path1, path1, subpool);
+	PHP_SVN_CONVERT_STR_TO_UTF8(&utf8_path2, path2, subpool);
 
 	path1 = svn_path_canonicalize(utf8_path1, subpool);
 	path2 = svn_path_canonicalize(utf8_path2, subpool);
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sun May 05 06:01:33 2024 UTC