void svn_opt_push_implicit_dot_target(apr_array_header_t *targets, apr_pool_t *pool) { if (targets->nelts == 0) array_push_str(targets, "", pool); /* Ha! "", not ".", is the canonical */ assert(targets->nelts); }
svn_error_t * svn_opt_parse_all_args(apr_array_header_t **args_p, apr_getopt_t *os, apr_pool_t *pool) { apr_array_header_t *args = apr_array_make(pool, DEFAULT_ARRAY_SIZE, sizeof(const char *)); if (os->ind > os->argc) { return svn_error_create(SVN_ERR_CL_ARG_PARSING_ERROR, 0, NULL); } while (os->ind < os->argc) { array_push_str(args, os->argv[os->ind++], pool); } *args_p = args; return SVN_NO_ERROR; }
svn_error_t * svn_opt_parse_num_args(apr_array_header_t **args_p, apr_getopt_t *os, int num_args, apr_pool_t *pool) { int i; apr_array_header_t *args = apr_array_make(pool, DEFAULT_ARRAY_SIZE, sizeof(const char *)); /* loop for num_args and add each arg to the args array */ for (i = 0; i < num_args; i++) { if (os->ind >= os->argc) { return svn_error_create(SVN_ERR_CL_INSUFFICIENT_ARGS, 0, NULL); } array_push_str(args, os->argv[os->ind++], pool); } *args_p = args; return SVN_NO_ERROR; }