Author: rinrab
Date: Wed May 28 13:02:37 2025
New Revision: 1925903
URL: http://svn.apache.org/viewvc?rev=1925903&view=rev
Log:
On the 'utf8-cmdline-prototype' branch: utf8-ize svndumpfilter program
* subversion/svndumpfilter/svndumpfilter.c
(sub_main): Convert args straight to utf8 and remove in-place conversions.
Modified:
subversion/branches/utf8-cmdline-prototype/subversion/svndumpfilter/svndumpfilter.c
Modified:
subversion/branches/utf8-cmdline-prototype/subversion/svndumpfilter/svndumpfilter.c
URL:
http://svn.apache.org/viewvc/subversion/branches/utf8-cmdline-prototype/subversion/svndumpfilter/svndumpfilter.c?rev=1925903&r1=1925902&r2=1925903&view=diff
==============================================================================
---
subversion/branches/utf8-cmdline-prototype/subversion/svndumpfilter/svndumpfilter.c
(original)
+++
subversion/branches/utf8-cmdline-prototype/subversion/svndumpfilter/svndumpfilter.c
Wed May 28 13:02:37 2025
@@ -1310,7 +1310,7 @@ sub_main(int *exit_code,
/* Check library versions */
SVN_ERR(check_lib_versions());
- SVN_ERR(svn_cmdline__get_cstring_argv(&argv, argc, cmdline_argv, pool));
+ SVN_ERR(svn_cmdline__get_utf8_argv(&argv, argc, cmdline_argv, pool));
received_opts = apr_array_make(pool, SVN_OPT_MAX_OPTIONS, sizeof(int));
@@ -1335,10 +1335,10 @@ sub_main(int *exit_code,
os->interleave = 1;
while (1)
{
- const char *opt_arg;
+ const char *utf8_opt_arg;
/* Parse the next option. */
- apr_err = apr_getopt_long(os, options_table, &opt_id, &opt_arg);
+ apr_err = apr_getopt_long(os, options_table, &opt_id, &utf8_opt_arg);
if (APR_STATUS_IS_EOF(apr_err))
break;
else if (apr_err)
@@ -1382,8 +1382,7 @@ sub_main(int *exit_code,
opt_state.skip_missing_merge_sources = TRUE;
break;
case svndumpfilter__targets:
- SVN_ERR(svn_utf_cstring_to_utf8(&opt_state.targets_file,
- opt_arg, pool));
+ opt_state.targets_file = apr_pstrdup(pool, utf8_opt_arg);
break;
default:
{
@@ -1440,10 +1439,8 @@ sub_main(int *exit_code,
}
else
{
- const char *first_arg;
+ const char *first_arg = os->argv[os->ind++];
- SVN_ERR(svn_utf_cstring_to_utf8(&first_arg, os->argv[os->ind++],
- pool));
subcommand = svn_opt_get_canonical_subcommand3(cmd_table, first_arg);
if (subcommand == NULL)
{
@@ -1471,10 +1468,9 @@ sub_main(int *exit_code,
{
const char *prefix;
- /* Ensure that each prefix is UTF8-encoded, in internal
- style, and absolute. */
- SVN_ERR(svn_utf_cstring_to_utf8(&prefix, os->argv[i], pool));
- SVN_ERR(svn_relpath__make_internal(&prefix, prefix, pool, pool));
+ /* Ensure that each prefix is in internal style and absolute. */
+ SVN_ERR(svn_relpath__make_internal(&prefix, os->argv[i],
+ pool, pool));
if (prefix[0] != '/')
prefix = apr_pstrcat(pool, "/", prefix, SVN_VA_NULL);
APR_ARRAY_PUSH(opt_state.prefixes, const char *) = prefix;