diff --git a/alias.c b/alias.c index 5a238f2e30..269892c356 100644 --- a/alias.c +++ b/alias.c @@ -22,7 +22,7 @@ static int config_alias_cb(const char *key, const char *value, if (data->alias) { if (!strcasecmp(p, data->alias)) - return git_config_string((const char **)&data->v, + return git_config_string(&data->v, key, value); } else if (data->list) { string_list_append(data->list, p); diff --git a/attr.c b/attr.c index 33473bdce0..5607db2bbe 100644 --- a/attr.c +++ b/attr.c @@ -25,7 +25,7 @@ #include "tree-walk.h" #include "object-name.h" -const char *git_attr_tree; +char *git_attr_tree; const char git_attr__true[] = "(builtin)true"; const char git_attr__false[] = "\0(builtin)false"; diff --git a/attr.h b/attr.h index 127998ae01..e7cc318b0c 100644 --- a/attr.h +++ b/attr.h @@ -236,6 +236,6 @@ const char *git_attr_global_file(void); /* Return whether the system gitattributes file is enabled and should be used. */ int git_attr_system_is_enabled(void); -extern const char *git_attr_tree; +extern char *git_attr_tree; #endif /* ATTR_H */ diff --git a/builtin/commit.c b/builtin/commit.c index 1cc88e92bf..f53e7e86ff 100644 --- a/builtin/commit.c +++ b/builtin/commit.c @@ -133,7 +133,7 @@ static struct strvec trailer_args = STRVEC_INIT; * is specified explicitly. */ static enum commit_msg_cleanup_mode cleanup_mode; -static const char *cleanup_arg; +static char *cleanup_arg; static enum commit_whence whence; static int use_editor = 1, include_status = 1; diff --git a/builtin/log.c b/builtin/log.c index 890bf0c425..517d7982f1 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -582,11 +582,11 @@ static int git_log_config(const char *var, const char *value, if (!strcmp(var, "format.pretty")) { FREE_AND_NULL(cfg->fmt_pretty); - return git_config_string((const char **) &cfg->fmt_pretty, var, value); + return git_config_string(&cfg->fmt_pretty, var, value); } if (!strcmp(var, "format.subjectprefix")) { FREE_AND_NULL(cfg->fmt_patch_subject_prefix); - return git_config_string((const char **) &cfg->fmt_patch_subject_prefix, var, value); + return git_config_string(&cfg->fmt_patch_subject_prefix, var, value); } if (!strcmp(var, "format.filenamemaxlength")) { cfg->fmt_patch_name_max = git_config_int(var, value, ctx->kvi); @@ -602,7 +602,7 @@ static int git_log_config(const char *var, const char *value, } if (!strcmp(var, "log.date")) { FREE_AND_NULL(cfg->default_date_mode); - return git_config_string((const char **) &cfg->default_date_mode, var, value); + return git_config_string(&cfg->default_date_mode, var, value); } if (!strcmp(var, "log.decorate")) { cfg->decoration_style = parse_decoration_style(value); @@ -1076,7 +1076,7 @@ static int git_format_config(const char *var, const char *value, } if (!strcmp(var, "format.suffix")) { FREE_AND_NULL(cfg->fmt_patch_suffix); - return git_config_string((const char **) &cfg->fmt_patch_suffix, var, value); + return git_config_string(&cfg->fmt_patch_suffix, var, value); } if (!strcmp(var, "format.to")) { if (!value) @@ -1133,7 +1133,7 @@ static int git_format_config(const char *var, const char *value, } if (!strcmp(var, "format.signature")) { FREE_AND_NULL(cfg->signature); - return git_config_string((const char **) &cfg->signature, var, value); + return git_config_string(&cfg->signature, var, value); } if (!strcmp(var, "format.signaturefile")) { FREE_AND_NULL(cfg->signature_file); @@ -1149,7 +1149,7 @@ static int git_format_config(const char *var, const char *value, } if (!strcmp(var, "format.outputdirectory")) { FREE_AND_NULL(cfg->config_output_directory); - return git_config_string((const char **) &cfg->config_output_directory, var, value); + return git_config_string(&cfg->config_output_directory, var, value); } if (!strcmp(var, "format.useautobase")) { if (value && !strcasecmp(value, "whenAble")) { diff --git a/builtin/merge.c b/builtin/merge.c index e4bd65eeba..daed2d4e1e 100644 --- a/builtin/merge.c +++ b/builtin/merge.c @@ -100,7 +100,7 @@ static struct strategy all_strategy[] = { { "subtree", NO_FAST_FORWARD | NO_TRIVIAL }, }; -static const char *pull_twohead, *pull_octopus; +static char *pull_twohead, *pull_octopus; enum ff_type { FF_NO, @@ -110,7 +110,7 @@ enum ff_type { static enum ff_type fast_forward = FF_ALLOW; -static const char *cleanup_arg; +static char *cleanup_arg; static enum commit_msg_cleanup_mode cleanup_mode; static int option_parse_message(const struct option *opt, diff --git a/builtin/rebase.c b/builtin/rebase.c index 0466d9414a..14d4f0a5e6 100644 --- a/builtin/rebase.c +++ b/builtin/rebase.c @@ -83,7 +83,7 @@ static const char *action_names[] = { struct rebase_options { enum rebase_type type; enum empty_type empty; - const char *default_backend; + char *default_backend; const char *state_dir; struct commit *upstream; const char *upstream_name; diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c index 56228ad314..01c1f04ece 100644 --- a/builtin/receive-pack.c +++ b/builtin/receive-pack.c @@ -88,7 +88,7 @@ static struct strbuf push_cert = STRBUF_INIT; static struct object_id push_cert_oid; static struct signature_check sigcheck; static const char *push_cert_nonce; -static const char *cert_nonce_seed; +static char *cert_nonce_seed; static struct strvec hidden_refs = STRVEC_INIT; static const char *NONCE_UNSOLICITED = "UNSOLICITED"; diff --git a/builtin/repack.c b/builtin/repack.c index 43491a4cbf..e40dceaada 100644 --- a/builtin/repack.c +++ b/builtin/repack.c @@ -48,10 +48,10 @@ static const char incremental_bitmap_conflict_error[] = N_( ); struct pack_objects_args { - const char *window; - const char *window_memory; - const char *depth; - const char *threads; + char *window; + char *window_memory; + char *depth; + char *threads; unsigned long max_pack_size; int no_reuse_delta; int no_reuse_object; diff --git a/config.c b/config.c index f9101045ee..da52a7f8a1 100644 --- a/config.c +++ b/config.c @@ -1338,7 +1338,7 @@ int git_config_bool(const char *name, const char *value) return v; } -int git_config_string(const char **dest, const char *var, const char *value) +int git_config_string(char **dest, const char *var, const char *value) { if (!value) return config_error_nonbool(var); @@ -1566,7 +1566,7 @@ static int git_default_core_config(const char *var, const char *value, if (!strcmp(var, "core.checkroundtripencoding")) { FREE_AND_NULL(check_roundtrip_encoding); - return git_config_string((const char **) &check_roundtrip_encoding, var, value); + return git_config_string(&check_roundtrip_encoding, var, value); } if (!strcmp(var, "core.notesref")) { @@ -2418,7 +2418,7 @@ int git_configset_get_string(struct config_set *set, const char *key, char **des { const char *value; if (!git_configset_get_value(set, key, &value, NULL)) - return git_config_string((const char **)dest, key, value); + return git_config_string(dest, key, value); else return 1; } diff --git a/config.h b/config.h index b3103bba94..2d2e22ed64 100644 --- a/config.h +++ b/config.h @@ -280,7 +280,7 @@ int git_config_bool(const char *, const char *); * Allocates and copies the value string into the `dest` parameter; if no * string is given, prints an error message and returns -1. */ -int git_config_string(const char **, const char *, const char *); +int git_config_string(char **, const char *, const char *); /** * Similar to `git_config_string`, but expands `~` or `~user` into the diff --git a/convert.c b/convert.c index 03c3c528f9..f2b9f01354 100644 --- a/convert.c +++ b/convert.c @@ -981,9 +981,9 @@ int async_query_available_blobs(const char *cmd, struct string_list *available_p static struct convert_driver { const char *name; struct convert_driver *next; - const char *smudge; - const char *clean; - const char *process; + char *smudge; + char *clean; + char *process; int required; } *user_convert, **user_convert_tail; diff --git a/delta-islands.c b/delta-islands.c index 4ac3c10551..89d51b72e3 100644 --- a/delta-islands.c +++ b/delta-islands.c @@ -313,7 +313,7 @@ struct island_load_data { size_t nr; size_t alloc; }; -static const char *core_island_name; +static char *core_island_name; static void free_config_regexes(struct island_load_data *ild) { diff --git a/diff.c b/diff.c index 679ef472f4..e70301df76 100644 --- a/diff.c +++ b/diff.c @@ -56,8 +56,8 @@ static int diff_color_moved_default; static int diff_color_moved_ws_default; static int diff_context_default = 3; static int diff_interhunk_context_default; -static const char *diff_word_regex_cfg; -static const char *external_diff_cmd_cfg; +static char *diff_word_regex_cfg; +static char *external_diff_cmd_cfg; static char *diff_order_file_cfg; int diff_auto_refresh_index = 1; static int diff_mnemonic_prefix; @@ -412,11 +412,11 @@ int git_diff_ui_config(const char *var, const char *value, } if (!strcmp(var, "diff.srcprefix")) { FREE_AND_NULL(diff_src_prefix); - return git_config_string((const char **) &diff_src_prefix, var, value); + return git_config_string(&diff_src_prefix, var, value); } if (!strcmp(var, "diff.dstprefix")) { FREE_AND_NULL(diff_dst_prefix); - return git_config_string((const char **) &diff_dst_prefix, var, value); + return git_config_string(&diff_dst_prefix, var, value); } if (!strcmp(var, "diff.relative")) { diff_relative = git_config_bool(var, value); diff --git a/environment.c b/environment.c index ab6956559e..701d515135 100644 --- a/environment.c +++ b/environment.c @@ -42,8 +42,8 @@ int is_bare_repository_cfg = -1; /* unspecified */ int warn_ambiguous_refs = 1; int warn_on_object_refname_ambiguity = 1; int repository_format_precious_objects; -const char *git_commit_encoding; -const char *git_log_output_encoding; +char *git_commit_encoding; +char *git_log_output_encoding; char *apply_default_whitespace; char *apply_default_ignorewhitespace; char *git_attributes_file; @@ -58,8 +58,8 @@ size_t packed_git_window_size = DEFAULT_PACKED_GIT_WINDOW_SIZE; size_t packed_git_limit = DEFAULT_PACKED_GIT_LIMIT; size_t delta_base_cache_limit = 96 * 1024 * 1024; unsigned long big_file_threshold = 512 * 1024 * 1024; -const char *editor_program; -const char *askpass_program; +char *editor_program; +char *askpass_program; char *excludes_file; enum auto_crlf auto_crlf = AUTO_CRLF_FALSE; enum eol core_eol = EOL_UNSET; diff --git a/environment.h b/environment.h index be1b88ad6f..e9f01d4d11 100644 --- a/environment.h +++ b/environment.h @@ -224,11 +224,11 @@ int odb_pack_keep(const char *name); const char *get_log_output_encoding(void); const char *get_commit_output_encoding(void); -extern const char *git_commit_encoding; -extern const char *git_log_output_encoding; +extern char *git_commit_encoding; +extern char *git_log_output_encoding; -extern const char *editor_program; -extern const char *askpass_program; +extern char *editor_program; +extern char *askpass_program; extern char *excludes_file; /* diff --git a/gpg-interface.c b/gpg-interface.c index 2b50ed0fa0..5193223714 100644 --- a/gpg-interface.c +++ b/gpg-interface.c @@ -27,14 +27,14 @@ static void gpg_interface_lazy_init(void) } static char *configured_signing_key; -static const char *ssh_default_key_command; +static char *ssh_default_key_command; static char *ssh_allowed_signers; static char *ssh_revocation_file; static enum signature_trust_level configured_min_trust_level = TRUST_UNDEFINED; struct gpg_format { const char *name; - const char *program; + char *program; const char **verify_args; const char **sigs; int (*verify_signed_buffer)(struct signature_check *sigc, diff --git a/http.c b/http.c index fa3ea87451..67cc47d28f 100644 --- a/http.c +++ b/http.c @@ -38,11 +38,11 @@ char curl_errorstr[CURL_ERROR_SIZE]; static int curl_ssl_verify = -1; static int curl_ssl_try; -static const char *curl_http_version = NULL; +static char *curl_http_version; static char *ssl_cert; static char *ssl_cert_type; -static const char *ssl_cipherlist; -static const char *ssl_version; +static char *ssl_cipherlist; +static char *ssl_version; static struct { const char *name; long ssl_version; @@ -95,7 +95,7 @@ static struct { */ }; #ifdef CURLGSSAPI_DELEGATION_FLAG -static const char *curl_deleg; +static char *curl_deleg; static struct { const char *name; long curl_deleg_param; @@ -383,11 +383,11 @@ static int http_options(const char *var, const char *value, if (!strcmp("http.sslcert", var)) return git_config_pathname(&ssl_cert, var, value); if (!strcmp("http.sslcerttype", var)) - return git_config_string((const char **)&ssl_cert_type, var, value); + return git_config_string(&ssl_cert_type, var, value); if (!strcmp("http.sslkey", var)) return git_config_pathname(&ssl_key, var, value); if (!strcmp("http.sslkeytype", var)) - return git_config_string((const char **)&ssl_key_type, var, value); + return git_config_string(&ssl_key_type, var, value); if (!strcmp("http.sslcapath", var)) return git_config_pathname(&ssl_capath, var, value); if (!strcmp("http.sslcainfo", var)) @@ -440,19 +440,19 @@ static int http_options(const char *var, const char *value, return 0; } if (!strcmp("http.proxy", var)) - return git_config_string((const char **)&curl_http_proxy, var, value); + return git_config_string(&curl_http_proxy, var, value); if (!strcmp("http.proxyauthmethod", var)) - return git_config_string((const char **)&http_proxy_authmethod, var, value); + return git_config_string(&http_proxy_authmethod, var, value); if (!strcmp("http.proxysslcert", var)) - return git_config_string((const char **)&http_proxy_ssl_cert, var, value); + return git_config_string(&http_proxy_ssl_cert, var, value); if (!strcmp("http.proxysslkey", var)) - return git_config_string((const char **)&http_proxy_ssl_key, var, value); + return git_config_string(&http_proxy_ssl_key, var, value); if (!strcmp("http.proxysslcainfo", var)) - return git_config_string((const char **)&http_proxy_ssl_ca_info, var, value); + return git_config_string(&http_proxy_ssl_ca_info, var, value); if (!strcmp("http.proxysslcertpasswordprotected", var)) { proxy_ssl_cert_password_required = git_config_bool(var, value); @@ -476,7 +476,7 @@ static int http_options(const char *var, const char *value, } if (!strcmp("http.useragent", var)) - return git_config_string((const char **)&user_agent, var, value); + return git_config_string(&user_agent, var, value); if (!strcmp("http.emptyauth", var)) { if (value && !strcmp("auto", value)) diff --git a/imap-send.c b/imap-send.c index c0130d0e02..a5d1510180 100644 --- a/imap-send.c +++ b/imap-send.c @@ -70,16 +70,16 @@ static char *next_arg(char **); struct imap_server_conf { const char *name; - const char *tunnel; - const char *host; + char *tunnel; + char *host; int port; - const char *folder; - const char *user; - const char *pass; + char *folder; + char *user; + char *pass; int use_ssl; int ssl_verify; int use_html; - const char *auth_method; + char *auth_method; }; static struct imap_server_conf server = { diff --git a/mailmap.c b/mailmap.c index 044466b043..b2efe29b3d 100644 --- a/mailmap.c +++ b/mailmap.c @@ -7,7 +7,7 @@ #include "setup.h" char *git_mailmap_file; -const char *git_mailmap_blob; +char *git_mailmap_blob; struct mailmap_info { char *name; diff --git a/mailmap.h b/mailmap.h index 429a760945..cbda9bc5e0 100644 --- a/mailmap.h +++ b/mailmap.h @@ -4,7 +4,7 @@ struct string_list; extern char *git_mailmap_file; -extern const char *git_mailmap_blob; +extern char *git_mailmap_blob; int read_mailmap(struct string_list *map); void clear_mailmap(struct string_list *map); diff --git a/merge-ll.c b/merge-ll.c index bf1077ae09..e29b15fa4a 100644 --- a/merge-ll.c +++ b/merge-ll.c @@ -27,9 +27,9 @@ typedef enum ll_merge_result (*ll_merge_fn)(const struct ll_merge_driver *, struct ll_merge_driver { const char *name; - const char *description; + char *description; ll_merge_fn fn; - const char *recursive; + char *recursive; struct ll_merge_driver *next; char *cmdline; }; @@ -268,7 +268,7 @@ static enum ll_merge_result ll_ext_merge(const struct ll_merge_driver *fn, * merge.default and merge.driver configuration items */ static struct ll_merge_driver *ll_user_merge, **ll_user_merge_tail; -static const char *default_ll_merge; +static char *default_ll_merge; static int read_merge_config(const char *var, const char *value, const struct config_context *ctx UNUSED, diff --git a/pager.c b/pager.c index b8822a9381..e9e121db69 100644 --- a/pager.c +++ b/pager.c @@ -13,7 +13,7 @@ int pager_use_color = 1; #endif static struct child_process pager_process; -static const char *pager_program; +static char *pager_program; /* Is the value coming back from term_columns() just a guess? */ static int term_columns_guessed; diff --git a/pretty.c b/pretty.c index 7ead078998..22a81506b7 100644 --- a/pretty.c +++ b/pretty.c @@ -62,7 +62,7 @@ static int git_pretty_formats_config(const char *var, const char *value, { struct cmt_fmt_map *commit_format = NULL; const char *name; - const char *fmt; + char *fmt; int i; if (!skip_prefix(var, "pretty.", &name)) @@ -93,13 +93,17 @@ static int git_pretty_formats_config(const char *var, const char *value, if (git_config_string(&fmt, var, value)) return -1; - if (skip_prefix(fmt, "format:", &fmt)) + if (skip_prefix(fmt, "format:", &commit_format->user_format)) { commit_format->is_tformat = 0; - else if (skip_prefix(fmt, "tformat:", &fmt) || strchr(fmt, '%')) + } else if (skip_prefix(fmt, "tformat:", &commit_format->user_format)) { commit_format->is_tformat = 1; - else + } else if (strchr(fmt, '%')) { + commit_format->is_tformat = 1; + commit_format->user_format = fmt; + } else { commit_format->is_alias = 1; - commit_format->user_format = fmt; + commit_format->user_format = fmt; + } return 0; } diff --git a/promisor-remote.h b/promisor-remote.h index 2cb9eda9ea..88cb599c39 100644 --- a/promisor-remote.h +++ b/promisor-remote.h @@ -13,7 +13,7 @@ struct object_id; */ struct promisor_remote { struct promisor_remote *next; - const char *partial_clone_filter; + char *partial_clone_filter; const char name[FLEX_ARRAY]; }; diff --git a/remote.c b/remote.c index ec8c158e60..d319f28757 100644 --- a/remote.c +++ b/remote.c @@ -428,29 +428,29 @@ static int handle_config(const char *key, const char *value, else if (!strcmp(subkey, "prunetags")) remote->prune_tags = git_config_bool(key, value); else if (!strcmp(subkey, "url")) { - const char *v; + char *v; if (git_config_string(&v, key, value)) return -1; add_url(remote, v); } else if (!strcmp(subkey, "pushurl")) { - const char *v; + char *v; if (git_config_string(&v, key, value)) return -1; add_pushurl(remote, v); } else if (!strcmp(subkey, "push")) { - const char *v; + char *v; if (git_config_string(&v, key, value)) return -1; refspec_append(&remote->push, v); - free((char *)v); + free(v); } else if (!strcmp(subkey, "fetch")) { - const char *v; + char *v; if (git_config_string(&v, key, value)) return -1; refspec_append(&remote->fetch, v); - free((char *)v); + free(v); } else if (!strcmp(subkey, "receivepack")) { - const char *v; + char *v; if (git_config_string(&v, key, value)) return -1; if (!remote->receivepack) @@ -458,7 +458,7 @@ static int handle_config(const char *key, const char *value, else error(_("more than one receivepack given, using the first")); } else if (!strcmp(subkey, "uploadpack")) { - const char *v; + char *v; if (git_config_string(&v, key, value)) return -1; if (!remote->uploadpack) @@ -471,10 +471,10 @@ static int handle_config(const char *key, const char *value, else if (!strcmp(value, "--tags")) remote->fetch_tags = 2; } else if (!strcmp(subkey, "proxy")) { - return git_config_string((const char **)&remote->http_proxy, + return git_config_string(&remote->http_proxy, key, value); } else if (!strcmp(subkey, "proxyauthmethod")) { - return git_config_string((const char **)&remote->http_proxy_authmethod, + return git_config_string(&remote->http_proxy_authmethod, key, value); } else if (!strcmp(subkey, "vcs")) { return git_config_string(&remote->foreign_vcs, key, value); diff --git a/remote.h b/remote.h index dfd4837e60..e8c6655e42 100644 --- a/remote.h +++ b/remote.h @@ -46,7 +46,7 @@ struct remote_state { struct hashmap branches_hash; struct branch *current_branch; - const char *pushremote_name; + char *pushremote_name; struct rewrites rewrites; struct rewrites rewrites_push; @@ -65,7 +65,7 @@ struct remote { int origin, configured_in_repo; - const char *foreign_vcs; + char *foreign_vcs; /* An array of all of the url_nr URLs configured for the remote */ const char **url; @@ -309,9 +309,9 @@ struct branch { const char *refname; /* The name of the remote listed in the configuration. */ - const char *remote_name; + char *remote_name; - const char *pushremote_name; + char *pushremote_name; /* An array of the "merge" lines in the configuration. */ const char **merge_name; diff --git a/sequencer.c b/sequencer.c index dbd60d79b9..3c81ef9ca5 100644 --- a/sequencer.c +++ b/sequencer.c @@ -306,7 +306,7 @@ static int git_sequencer_config(const char *k, const char *v, } if (!opts->default_strategy && !strcmp(k, "pull.twohead")) { - int ret = git_config_string((const char**)&opts->default_strategy, k, v); + int ret = git_config_string(&opts->default_strategy, k, v); if (ret == 0) { /* * pull.twohead is allowed to be multi-valued; we only diff --git a/upload-pack.c b/upload-pack.c index 8fbd138515..5801eb2639 100644 --- a/upload-pack.c +++ b/upload-pack.c @@ -94,7 +94,7 @@ struct upload_pack_data { struct packet_writer writer; - const char *pack_objects_hook; + char *pack_objects_hook; unsigned stateless_rpc : 1; /* v0 only */ unsigned no_done : 1; /* v0 only */ diff --git a/userdiff.h b/userdiff.h index d726804c3e..cc8e5abfef 100644 --- a/userdiff.h +++ b/userdiff.h @@ -7,19 +7,19 @@ struct index_state; struct repository; struct userdiff_funcname { - const char *pattern; + char *pattern; int cflags; }; struct userdiff_driver { const char *name; - const char *external; - const char *algorithm; + char *external; + char *algorithm; int binary; struct userdiff_funcname funcname; - const char *word_regex; - const char *word_regex_multi_byte; - const char *textconv; + char *word_regex; + char *word_regex_multi_byte; + char *textconv; struct notes_cache *textconv_cache; int textconv_want_cache; };