Author: futatuki
Date: Sun Mar 14 18:39:26 2021
New Revision: 1887641
URL: http://svn.apache.org/viewvc?rev=1887641&view=rev
Log:
Fix encoding of error message on failure of system() call.
* subversion/libsvn_subr/cmdline.c
(svn_cmdline__edit_file_externally, svn_cmdline__edit_string_externally):
Transcode command line, passed to system(), to UTF-8 before composing
error message.
Modified:
subversion/trunk/subversion/libsvn_subr/cmdline.c
Modified: subversion/trunk/subversion/libsvn_subr/cmdline.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/cmdline.c?rev=1887641&r1=1887640&r2=1887641&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/cmdline.c (original)
+++ subversion/trunk/subversion/libsvn_subr/cmdline.c Sun Mar 14 18:39:26 2021
@@ -1499,10 +1499,16 @@ svn_cmdline__edit_file_externally(const
stderr, TRUE /* fatal */, "svn: ");
if (sys_err)
- /* Extracting any meaning from sys_err is platform specific, so just
- use the raw value. */
- return svn_error_createf(SVN_ERR_EXTERNAL_PROGRAM, NULL,
- _("system('%s') returned %d"), cmd, sys_err);
+ {
+ const char *cmd_utf8;
+
+ /* Extracting any meaning from sys_err is platform specific, so just
+ use the raw value. */
+ SVN_ERR(svn_utf_cstring_to_utf8(&cmd_utf8, cmd, pool));
+ return svn_error_createf(SVN_ERR_EXTERNAL_PROGRAM, NULL,
+ _("system('%s') returned %d"),
+ cmd_utf8, sys_err);
+ }
return SVN_NO_ERROR;
}
@@ -1678,10 +1684,14 @@ svn_cmdline__edit_string_externally(svn_
#endif
if (sys_err != 0)
{
+ const char *cmd_utf8;
+
/* Extracting any meaning from sys_err is platform specific, so just
use the raw value. */
+ SVN_ERR(svn_utf_cstring_to_utf8(&cmd_utf8, cmd, pool));
err = svn_error_createf(SVN_ERR_EXTERNAL_PROGRAM, NULL,
- _("system('%s') returned %d"), cmd, sys_err);
+ _("system('%s') returned %d"),
+ cmd_utf8, sys_err);
goto cleanup;
}