svn commit: r1925865 - in /subversion/branches/utf8-cmdline-prototype/subversion/libsvn_client: client.h cmdline.c deprecated.c

[email protected]
Newsgroups gmane.comp.version-control.subversion.svn
Message-ID <[email protected]>
Author: rinrab
Date: Tue May 27 12:14:25 2025
New Revision: 1925865

URL: http://svn.apache.org/viewvc?rev=1925865&view=rev
Log:
On the 'utf8-cmdline-prototype' branch: Allocate exact amount of nelts
needed for targets array in svn_client_args_to_target_array() family,
and drop SVN_CLIENT__CMDLINE_DEFAULT_ARRAY_SIZE constant.

* subversion/libsvn_client/client.h
  (SVN_CLIENT__CMDLINE_DEFAULT_ARRAY_SIZE): remove.
* subversion/libsvn_client/cmdline.c
  (svn_client__process_target_array): ditto for input_targets and
   output_targets. Allocate reserved_names for one item, because in most
   cases it wouldn't contain that many items, since it is needed to throw
   an error.
  (svn_client_args_to_target_array3): ditto and format code.
* subversion/libsvn_client/deprecated.c
  (svn_client_args_to_target_array2): ditto.

Modified:
    subversion/branches/utf8-cmdline-prototype/subversion/libsvn_client/client.h
    subversion/branches/utf8-cmdline-prototype/subversion/libsvn_client/cmdline.c
    subversion/branches/utf8-cmdline-prototype/subversion/libsvn_client/deprecated.c

Modified: subversion/branches/utf8-cmdline-prototype/subversion/libsvn_client/client.h
URL: http://svn.apache.org/viewvc/subversion/branches/utf8-cmdline-prototype/subversion/libsvn_client/client.h?rev=1925865&r1=1925864&r2=1925865&view=diff
==============================================================================
--- subversion/branches/utf8-cmdline-prototype/subversion/libsvn_client/client.h (original)
+++ subversion/branches/utf8-cmdline-prototype/subversion/libsvn_client/client.h Tue May 27 12:14:25 2025
@@ -1280,8 +1280,6 @@ svn_client__textbase_sync(svn_ra_session
 const svn_version_t *
 svn_client__compatible_wc_version_optional_pristine(apr_pool_t *result_pool);
 
-#define SVN_CLIENT__CMDLINE_DEFAULT_ARRAY_SIZE 5
-
 /* Helper for svn_client_args_to_target_array2 and
  * svn_client_args_to_target_array3.
  */

Modified: subversion/branches/utf8-cmdline-prototype/subversion/libsvn_client/cmdline.c
URL: http://svn.apache.org/viewvc/subversion/branches/utf8-cmdline-prototype/subversion/libsvn_client/cmdline.c?rev=1925865&r1=1925864&r2=1925865&view=diff
==============================================================================
--- subversion/branches/utf8-cmdline-prototype/subversion/libsvn_client/cmdline.c (original)
+++ subversion/branches/utf8-cmdline-prototype/subversion/libsvn_client/cmdline.c Tue May 27 12:14:25 2025
@@ -122,9 +122,9 @@ svn_client__process_target_array(apr_arr
   svn_boolean_t rel_url_found = FALSE;
   const char *root_url = NULL;
   apr_array_header_t *input_targets = apr_array_make(
-      pool, SVN_CLIENT__CMDLINE_DEFAULT_ARRAY_SIZE, sizeof(const char *));
+    pool, utf8_targets->nelts, sizeof(const char *));
   apr_array_header_t *output_targets = apr_array_make(
-      pool, SVN_CLIENT__CMDLINE_DEFAULT_ARRAY_SIZE, sizeof(const char *));
+    pool, utf8_targets->nelts, sizeof(const char *));
   apr_array_header_t *reserved_names = NULL;
 
   /* Step 1:  create a master array of targets that are in UTF-8
@@ -271,9 +271,8 @@ svn_client__process_target_array(apr_arr
               if (svn_wc_is_adm_dir(base_name, pool))
                 {
                   if (!reserved_names)
-                    reserved_names = apr_array_make(
-                        pool, SVN_CLIENT__CMDLINE_DEFAULT_ARRAY_SIZE,
-                        sizeof(const char *));
+                    reserved_names = apr_array_make(pool, 1,
+                                                    sizeof(const char *));
 
                   APR_ARRAY_PUSH(reserved_names, const char *) = utf8_target;
 
@@ -374,14 +373,14 @@ svn_client_args_to_target_array3(apr_arr
                                  apr_pool_t *pool)
 {
   apr_array_header_t *utf8_input_targets = apr_array_make(
-      pool, SVN_CLIENT__CMDLINE_DEFAULT_ARRAY_SIZE, sizeof(const char *));
+    pool, os->argc - os->ind, sizeof(const char *));
 
   for (; os->ind < os->argc; os->ind++)
     {
       APR_ARRAY_PUSH(utf8_input_targets, const char *) = os->argv[os->ind];
     }
 
-  return svn_error_trace(
-      svn_client__process_target_array(targets_p, utf8_input_targets, known_targets, ctx,
-                           keep_last_origpath_on_truepath_collision, pool));
+  return svn_error_trace(svn_client__process_target_array(
+      targets_p, utf8_input_targets, known_targets, ctx,
+      keep_last_origpath_on_truepath_collision, pool));
 }

Modified: subversion/branches/utf8-cmdline-prototype/subversion/libsvn_client/deprecated.c
URL: http://svn.apache.org/viewvc/subversion/branches/utf8-cmdline-prototype/subversion/libsvn_client/deprecated.c?rev=1925865&r1=1925864&r2=1925865&view=diff
==============================================================================
--- subversion/branches/utf8-cmdline-prototype/subversion/libsvn_client/deprecated.c (original)
+++ subversion/branches/utf8-cmdline-prototype/subversion/libsvn_client/deprecated.c Tue May 27 12:14:25 2025
@@ -451,7 +451,7 @@ svn_client_args_to_target_array2(apr_arr
                                  apr_pool_t *pool)
 {
   apr_array_header_t *utf8_input_targets = apr_array_make(
-      pool, SVN_CLIENT__CMDLINE_DEFAULT_ARRAY_SIZE, sizeof(const char *));
+    pool, os->argc - os->ind, sizeof(const char *));
 
   for (; os->ind < os->argc; os->ind++)
     {
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.