diff options
| author | Dmitry Ivankov <divanorama@gmail.com> | 2011-08-11 15:15:38 +0600 | 
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2011-08-11 12:18:02 -0700 | 
| commit | 068762846634dff73a18d71188736e0ded03a1cc (patch) | |
| tree | 2baf7a0df7d044ff88549364417f35574f46c410 /parse-options.c | |
| parent | 1f275b7c4caebf8ca5c002458f0f1b7994548a97 (diff) | |
| download | git-068762846634dff73a18d71188736e0ded03a1cc.tar.gz | |
Reduce parse-options.o dependencies
Currently parse-options.o pulls quite a big bunch of dependencies.
his complicates it's usage in contrib/ because it pulls external
dependencies and it also increases executables size.
Split off less generic and more internal to git part of
parse-options.c to parse-options-cb.c.
Move prefix_filename function from setup.c to abspath.c. abspath.o
and wrapper.o pull each other, so it's unlikely to increase the
dependencies. It was a dependency of parse-options.o that pulled
many others.
Now parse-options.o pulls just abspath.o, ctype.o, strbuf.o, usage.o,
wrapper.o, libc directly and strlcpy.o indirectly.
Signed-off-by: Dmitry Ivankov <divanorama@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'parse-options.c')
| -rw-r--r-- | parse-options.c | 121 | 
1 files changed, 0 insertions, 121 deletions
diff --git a/parse-options.c b/parse-options.c index 7b061afcdc..503ab5d500 100644 --- a/parse-options.c +++ b/parse-options.c @@ -3,7 +3,6 @@  #include "cache.h"  #include "commit.h"  #include "color.h" -#include "string-list.h"  static int parse_options_usage(struct parse_opt_ctx_t *ctx,  			       const char * const *usagestr, @@ -584,123 +583,3 @@ static int parse_options_usage(struct parse_opt_ctx_t *ctx,  	return usage_with_options_internal(ctx, usagestr, opts, 0, err);  } - -/*----- some often used options -----*/ -#include "cache.h" - -int parse_opt_abbrev_cb(const struct option *opt, const char *arg, int unset) -{ -	int v; - -	if (!arg) { -		v = unset ? 0 : DEFAULT_ABBREV; -	} else { -		v = strtol(arg, (char **)&arg, 10); -		if (*arg) -			return opterror(opt, "expects a numerical value", 0); -		if (v && v < MINIMUM_ABBREV) -			v = MINIMUM_ABBREV; -		else if (v > 40) -			v = 40; -	} -	*(int *)(opt->value) = v; -	return 0; -} - -int parse_opt_approxidate_cb(const struct option *opt, const char *arg, -			     int unset) -{ -	*(unsigned long *)(opt->value) = approxidate(arg); -	return 0; -} - -int parse_opt_color_flag_cb(const struct option *opt, const char *arg, -			    int unset) -{ -	int value; - -	if (!arg) -		arg = unset ? "never" : (const char *)opt->defval; -	value = git_config_colorbool(NULL, arg, -1); -	if (value < 0) -		return opterror(opt, -			"expects \"always\", \"auto\", or \"never\"", 0); -	*(int *)opt->value = value; -	return 0; -} - -int parse_opt_verbosity_cb(const struct option *opt, const char *arg, -			   int unset) -{ -	int *target = opt->value; - -	if (unset) -		/* --no-quiet, --no-verbose */ -		*target = 0; -	else if (opt->short_name == 'v') { -		if (*target >= 0) -			(*target)++; -		else -			*target = 1; -	} else { -		if (*target <= 0) -			(*target)--; -		else -			*target = -1; -	} -	return 0; -} - -int parse_opt_with_commit(const struct option *opt, const char *arg, int unset) -{ -	unsigned char sha1[20]; -	struct commit *commit; - -	if (!arg) -		return -1; -	if (get_sha1(arg, sha1)) -		return error("malformed object name %s", arg); -	commit = lookup_commit_reference(sha1); -	if (!commit) -		return error("no such commit %s", arg); -	commit_list_insert(commit, opt->value); -	return 0; -} - -int parse_opt_tertiary(const struct option *opt, const char *arg, int unset) -{ -	int *target = opt->value; -	*target = unset ? 2 : 1; -	return 0; -} - -int parse_options_concat(struct option *dst, size_t dst_size, struct option *src) -{ -	int i, j; - -	for (i = 0; i < dst_size; i++) -		if (dst[i].type == OPTION_END) -			break; -	for (j = 0; i < dst_size; i++, j++) { -		dst[i] = src[j]; -		if (src[j].type == OPTION_END) -			return 0; -	} -	return -1; -} - -int parse_opt_string_list(const struct option *opt, const char *arg, int unset) -{ -	struct string_list *v = opt->value; - -	if (unset) { -		string_list_clear(v, 0); -		return 0; -	} - -	if (!arg) -		return -1; - -	string_list_append(v, xstrdup(arg)); -	return 0; -}  | 
