Skip to content

Commit

Permalink
Merge branch 'ta/string-list-init'
Browse files Browse the repository at this point in the history
* ta/string-list-init:
  replace memset with string-list initializers
  string-list: add string_list initializer helper function
  • Loading branch information
Junio C Hamano committed Jul 23, 2014
2 parents bc88def + f93d7c6 commit 955d7be
Show file tree
Hide file tree
Showing 7 changed files with 19 additions and 15 deletions.
5 changes: 5 additions & 0 deletions Documentation/technical/api-string-list.txt
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,11 @@ Functions

* General ones (works with sorted and unsorted lists as well)

`string_list_init`::

Initialize the members of the string_list, set `strdup_strings`
member according to the value of the second parameter.

`filter_string_list`::

Apply a function to each item in a list, retaining only the
Expand Down
3 changes: 1 addition & 2 deletions builtin/commit.c
Original file line number Diff line number Diff line change
Expand Up @@ -420,8 +420,7 @@ static char *prepare_index(int argc, const char **argv, const char *prefix,
die(_("cannot do a partial commit during a cherry-pick."));
}

memset(&partial, 0, sizeof(partial));
partial.strdup_strings = 1;
string_list_init(&partial, 1);
if (list_paths(&partial, !current_head ? NULL : "HEAD", prefix, &pathspec))
exit(1);

Expand Down
9 changes: 3 additions & 6 deletions merge-recursive.c
Original file line number Diff line number Diff line change
Expand Up @@ -2059,12 +2059,9 @@ void init_merge_options(struct merge_options *o)
if (o->verbosity >= 5)
o->buffer_output = 0;
strbuf_init(&o->obuf, 0);
memset(&o->current_file_set, 0, sizeof(struct string_list));
o->current_file_set.strdup_strings = 1;
memset(&o->current_directory_set, 0, sizeof(struct string_list));
o->current_directory_set.strdup_strings = 1;
memset(&o->df_conflict_file_set, 0, sizeof(struct string_list));
o->df_conflict_file_set.strdup_strings = 1;
string_list_init(&o->current_file_set, 1);
string_list_init(&o->current_directory_set, 1);
string_list_init(&o->df_conflict_file_set, 1);
}

int parse_merge_opt(struct merge_options *o, const char *s)
Expand Down
6 changes: 6 additions & 0 deletions string-list.c
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
#include "cache.h"
#include "string-list.h"

void string_list_init(struct string_list *list, int strdup_strings)
{
memset(list, 0, sizeof(*list));
list->strdup_strings = strdup_strings;
}

/* if there is no exact match, point to the index where the entry could be
* inserted */
static int get_entry_index(const struct string_list *list, const char *string,
Expand Down
2 changes: 2 additions & 0 deletions string-list.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ struct string_list {
#define STRING_LIST_INIT_NODUP { NULL, 0, 0, 0, NULL }
#define STRING_LIST_INIT_DUP { NULL, 0, 0, 1, NULL }

void string_list_init(struct string_list *list, int strdup_strings);

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
5 changes: 1 addition & 4 deletions submodule.c
Original file line number Diff line number Diff line change
Expand Up @@ -544,10 +544,7 @@ static int push_submodule(const char *path)
int push_unpushed_submodules(unsigned char new_sha1[20], const char *remotes_name)
{
int i, ret = 1;
struct string_list needs_pushing;

memset(&needs_pushing, 0, sizeof(struct string_list));
needs_pushing.strdup_strings = 1;
struct string_list needs_pushing = STRING_LIST_INIT_DUP;

if (!find_unpushed_submodules(new_sha1, remotes_name, &needs_pushing))
return 1;
Expand Down
4 changes: 1 addition & 3 deletions transport.c
Original file line number Diff line number Diff line change
Expand Up @@ -1176,10 +1176,8 @@ int transport_push(struct transport *transport,
if ((flags & (TRANSPORT_RECURSE_SUBMODULES_ON_DEMAND |
TRANSPORT_RECURSE_SUBMODULES_CHECK)) && !is_bare_repository()) {
struct ref *ref = remote_refs;
struct string_list needs_pushing;
struct string_list needs_pushing = STRING_LIST_INIT_DUP;

memset(&needs_pushing, 0, sizeof(struct string_list));
needs_pushing.strdup_strings = 1;
for (; ref; ref = ref->next)
if (!is_null_sha1(ref->new_sha1) &&
find_unpushed_submodules(ref->new_sha1,
Expand Down

0 comments on commit 955d7be

Please sign in to comment.