Skip to content

Commit

Permalink
string_list: Add STRING_LIST_INIT macro and make use of it.
Browse files Browse the repository at this point in the history
Acked-by: Jonathan Nieder <[email protected]>
Signed-off-by: Thiago Farina <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
  • Loading branch information
tfarina authored and gitster committed Jul 5, 2010
1 parent 8a57c6e commit 183113a
Show file tree
Hide file tree
Showing 16 changed files with 36 additions and 31 deletions.
2 changes: 1 addition & 1 deletion builtin/fast-export.c
Original file line number Diff line number Diff line change
Expand Up @@ -566,7 +566,7 @@ int cmd_fast_export(int argc, const char **argv, const char *prefix)
{
struct rev_info revs;
struct object_array commits = { 0, 0, NULL };
struct string_list extra_refs = { NULL, 0, 0, 0 };
struct string_list extra_refs = STRING_LIST_INIT_NODUP;
struct commit *commit;
char *export_filename = NULL, *import_filename = NULL;
struct option options[] = {
Expand Down
8 changes: 4 additions & 4 deletions builtin/fetch.c
Original file line number Diff line number Diff line change
Expand Up @@ -548,8 +548,8 @@ static void find_non_local_tags(struct transport *transport,
struct ref **head,
struct ref ***tail)
{
struct string_list existing_refs = { NULL, 0, 0, 0 };
struct string_list remote_refs = { NULL, 0, 0, 0 };
struct string_list existing_refs = STRING_LIST_INIT_NODUP;
struct string_list remote_refs = STRING_LIST_INIT_NODUP;
const struct ref *ref;
struct string_list_item *item = NULL;

Expand Down Expand Up @@ -651,7 +651,7 @@ static int truncate_fetch_head(void)
static int do_fetch(struct transport *transport,
struct refspec *refs, int ref_count)
{
struct string_list existing_refs = { NULL, 0, 0, 0 };
struct string_list existing_refs = STRING_LIST_INIT_NODUP;
struct string_list_item *peer_item = NULL;
struct ref *ref_map;
struct ref *rm;
Expand Down Expand Up @@ -874,7 +874,7 @@ static int fetch_one(struct remote *remote, int argc, const char **argv)
int cmd_fetch(int argc, const char **argv, const char *prefix)
{
int i;
struct string_list list = { NULL, 0, 0, 0 };
struct string_list list = STRING_LIST_INIT_NODUP;
struct remote *remote;
int result = 0;

Expand Down
6 changes: 3 additions & 3 deletions builtin/fmt-merge-msg.c
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ void init_src_data(struct src_data *data)
data->generic.strdup_strings = 1;
}

static struct string_list srcs = { NULL, 0, 0, 1 };
static struct string_list origins = { NULL, 0, 0, 1 };
static struct string_list srcs = STRING_LIST_INIT_DUP;
static struct string_list origins = STRING_LIST_INIT_DUP;

static int handle_line(char *line)
{
Expand Down Expand Up @@ -146,7 +146,7 @@ static void shortlog(const char *name, unsigned char *sha1,
int i, count = 0;
struct commit *commit;
struct object *branch;
struct string_list subjects = { NULL, 0, 0, 1 };
struct string_list subjects = STRING_LIST_INIT_DUP;
int flags = UNINTERESTING | TREESAME | SEEN | SHOWN | ADDED;
struct strbuf sb = STRBUF_INIT;

Expand Down
2 changes: 1 addition & 1 deletion builtin/grep.c
Original file line number Diff line number Diff line change
Expand Up @@ -836,7 +836,7 @@ int cmd_grep(int argc, const char **argv, const char *prefix)
struct grep_opt opt;
struct object_array list = { 0, 0, NULL };
const char **paths = NULL;
struct string_list path_list = { NULL, 0, 0, 0 };
struct string_list path_list = STRING_LIST_INIT_NODUP;
int i;
int dummy;
int nongit = 0, use_index = 1;
Expand Down
2 changes: 1 addition & 1 deletion builtin/mailsplit.c
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ static int split_maildir(const char *maildir, const char *dir,
char name[PATH_MAX];
int ret = -1;
int i;
struct string_list list = {NULL, 0, 0, 1};
struct string_list list = STRING_LIST_INIT_DUP;

if (populate_maildir_list(&list, maildir) < 0)
goto out;
Expand Down
2 changes: 1 addition & 1 deletion builtin/mv.c
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ int cmd_mv(int argc, const char **argv, const char *prefix)
const char **source, **destination, **dest_path;
enum update_mode { BOTH = 0, WORKING_DIRECTORY, INDEX } *modes;
struct stat st;
struct string_list src_for_dst = {NULL, 0, 0, 0};
struct string_list src_for_dst = STRING_LIST_INIT_NODUP;

git_config(git_default_config, NULL);

Expand Down
2 changes: 1 addition & 1 deletion builtin/receive-pack.c
Original file line number Diff line number Diff line change
Expand Up @@ -530,7 +530,7 @@ static void check_aliased_update(struct command *cmd, struct string_list *list)
static void check_aliased_updates(struct command *commands)
{
struct command *cmd;
struct string_list ref_list = { NULL, 0, 0, 0 };
struct string_list ref_list = STRING_LIST_INIT_NODUP;

for (cmd = commands; cmd; cmd = cmd->next) {
struct string_list_item *item =
Expand Down
12 changes: 6 additions & 6 deletions builtin/remote.c
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ static int add_branch(const char *key, const char *branchname,
static int add(int argc, const char **argv)
{
int fetch = 0, mirror = 0, fetch_tags = TAGS_DEFAULT;
struct string_list track = { NULL, 0, 0 };
struct string_list track = STRING_LIST_INIT_NODUP;
const char *master = NULL;
struct remote *remote;
struct strbuf buf = STRBUF_INIT, buf2 = STRBUF_INIT;
Expand Down Expand Up @@ -596,7 +596,7 @@ static int mv(int argc, const char **argv)
};
struct remote *oldremote, *newremote;
struct strbuf buf = STRBUF_INIT, buf2 = STRBUF_INIT, buf3 = STRBUF_INIT;
struct string_list remote_branches = { NULL, 0, 0, 0 };
struct string_list remote_branches = STRING_LIST_INIT_NODUP;
struct rename_info rename;
int i;

Expand Down Expand Up @@ -734,8 +734,8 @@ static int rm(int argc, const char **argv)
struct remote *remote;
struct strbuf buf = STRBUF_INIT;
struct known_remotes known_remotes = { NULL, NULL };
struct string_list branches = { NULL, 0, 0, 1 };
struct string_list skipped = { NULL, 0, 0, 1 };
struct string_list branches = STRING_LIST_INIT_DUP;
struct string_list skipped = STRING_LIST_INIT_DUP;
struct branches_for_remote cb_data;
int i, result;

Expand Down Expand Up @@ -1044,7 +1044,7 @@ static int show(int argc, const char **argv)
OPT_END()
};
struct ref_states states;
struct string_list info_list = { NULL, 0, 0, 0 };
struct string_list info_list = STRING_LIST_INIT_NODUP;
struct show_info info;

argc = parse_options(argc, argv, NULL, options, builtin_remote_show_usage,
Expand Down Expand Up @@ -1483,7 +1483,7 @@ static int get_one_entry(struct remote *remote, void *priv)

static int show_all(void)
{
struct string_list list = { NULL, 0, 0 };
struct string_list list = STRING_LIST_INIT_NODUP;
int result;

list.strdup_strings = 1;
Expand Down
4 changes: 2 additions & 2 deletions builtin/rerere.c
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ static int git_rerere_gc_config(const char *var, const char *value, void *cb)

static void garbage_collect(struct string_list *rr)
{
struct string_list to_remove = { NULL, 0, 0, 1 };
struct string_list to_remove = STRING_LIST_INIT_DUP;
DIR *dir;
struct dirent *e;
int i, cutoff;
Expand Down Expand Up @@ -102,7 +102,7 @@ static int diff_two(const char *file1, const char *label1,

int cmd_rerere(int argc, const char **argv, const char *prefix)
{
struct string_list merge_rr = { NULL, 0, 0, 1 };
struct string_list merge_rr = STRING_LIST_INIT_DUP;
int i, fd, flags = 0;

if (2 < argc) {
Expand Down
2 changes: 1 addition & 1 deletion builtin/show-ref.c
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ static int add_existing(const char *refname, const unsigned char *sha1, int flag
*/
static int exclude_existing(const char *match)
{
static struct string_list existing_refs = { NULL, 0, 0, 0 };
static struct string_list existing_refs = STRING_LIST_INIT_NODUP;
char buf[1024];
int matchlen = match ? strlen(match) : 0;

Expand Down
3 changes: 2 additions & 1 deletion diff-no-index.c
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,8 @@ static int queue_diff(struct diff_options *o,

if (S_ISDIR(mode1) || S_ISDIR(mode2)) {
char buffer1[PATH_MAX], buffer2[PATH_MAX];
struct string_list p1 = {NULL, 0, 0, 1}, p2 = {NULL, 0, 0, 1};
struct string_list p1 = STRING_LIST_INIT_DUP;
struct string_list p2 = STRING_LIST_INIT_DUP;
int len1 = 0, len2 = 0, i1, i2, ret = 0;

if (name1 && read_directory(name1, &p1))
Expand Down
3 changes: 2 additions & 1 deletion merge-recursive.c
Original file line number Diff line number Diff line change
Expand Up @@ -806,7 +806,8 @@ static int process_renames(struct merge_options *o,
struct string_list *b_renames)
{
int clean_merge = 1, i, j;
struct string_list a_by_dst = {NULL, 0, 0, 0}, b_by_dst = {NULL, 0, 0, 0};
struct string_list a_by_dst = STRING_LIST_INIT_NODUP;
struct string_list b_by_dst = STRING_LIST_INIT_NODUP;
const struct rename *sre;

for (i = 0; i < a_renames->nr; i++) {
Expand Down
4 changes: 2 additions & 2 deletions remote.c
Original file line number Diff line number Diff line change
Expand Up @@ -754,7 +754,7 @@ int for_each_remote(each_remote_fn fn, void *priv)

void ref_remove_duplicates(struct ref *ref_map)
{
struct string_list refs = { NULL, 0, 0, 0 };
struct string_list refs = STRING_LIST_INIT_NODUP;
struct string_list_item *item = NULL;
struct ref *prev = NULL, *next = NULL;
for (; ref_map; prev = ref_map, ref_map = next) {
Expand Down Expand Up @@ -1704,7 +1704,7 @@ static int get_stale_heads_cb(const char *refname,
struct ref *get_stale_heads(struct remote *remote, struct ref *fetch_map)
{
struct ref *ref, *stale_refs = NULL;
struct string_list ref_names = { NULL, 0, 0, 0 };
struct string_list ref_names = STRING_LIST_INIT_NODUP;
struct stale_heads_info info;
info.remote = remote;
info.ref_names = &ref_names;
Expand Down
10 changes: 5 additions & 5 deletions rerere.c
Original file line number Diff line number Diff line change
Expand Up @@ -426,8 +426,8 @@ static int update_paths(struct string_list *update)

static int do_plain_rerere(struct string_list *rr, int fd)
{
struct string_list conflict = { NULL, 0, 0, 1 };
struct string_list update = { NULL, 0, 0, 1 };
struct string_list conflict = STRING_LIST_INIT_DUP;
struct string_list update = STRING_LIST_INIT_DUP;
int i;

find_conflict(&conflict);
Expand Down Expand Up @@ -547,7 +547,7 @@ int setup_rerere(struct string_list *merge_rr, int flags)

int rerere(int flags)
{
struct string_list merge_rr = { NULL, 0, 0, 1 };
struct string_list merge_rr = STRING_LIST_INIT_DUP;
int fd;

fd = setup_rerere(&merge_rr, flags);
Expand Down Expand Up @@ -585,8 +585,8 @@ static int rerere_forget_one_path(const char *path, struct string_list *rr)
int rerere_forget(const char **pathspec)
{
int i, fd;
struct string_list conflict = { NULL, 0, 0, 1 };
struct string_list merge_rr = { NULL, 0, 0, 1 };
struct string_list conflict = STRING_LIST_INIT_DUP;
struct string_list merge_rr = STRING_LIST_INIT_DUP;

if (read_cache() < 0)
return error("Could not read index");
Expand Down
3 changes: 3 additions & 0 deletions string-list.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@ struct string_list
unsigned int strdup_strings:1;
};

#define STRING_LIST_INIT_NODUP { NULL, 0, 0, 0 }
#define STRING_LIST_INIT_DUP { NULL, 0, 0, 1 }

void print_string_list(const struct string_list *p, const char *text);
void string_list_clear(struct string_list *list, int free_util);

Expand Down
2 changes: 1 addition & 1 deletion transport-helper.c
Original file line number Diff line number Diff line change
Expand Up @@ -689,7 +689,7 @@ static int push_refs_with_export(struct transport *transport,
struct child_process *helper, exporter;
struct helper_data *data = transport->data;
char *export_marks = NULL, *import_marks = NULL;
struct string_list revlist_args = { NULL, 0, 0 };
struct string_list revlist_args = STRING_LIST_INIT_NODUP;
struct strbuf buf = STRBUF_INIT;

helper = get_helper(transport);
Expand Down

0 comments on commit 183113a

Please sign in to comment.