use xstrdup_or_null to replace ternary conditionals
This replaces "x ? xstrdup(x) : NULL" with xstrdup_or_null(x). The change is fairly mechanical, with the exception of resolve_refdup, which can eliminate a temporary variable. There are still a few hits grepping for "?.*xstrdup", but these are of slightly different forms and cannot be converted (e.g., "x ? xstrdup(x->foo) : NULL"). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff King committed
Jan 12, 2015 at 20:59 UTC
8c53f0719b04e0b6328c2e175e3c5d2dc8a0c282
7 files changed
+9
-10
config.c
+1
-1
@@ -1329,7 +1329,7 @@ static int configset_add_value(struct config_set *cs, const char *key, const cha
1329
string_list_init(&e->value_list, 1);
1330
hashmap_add(&cs->config_hash, e);
1331
}
1332
- si = string_list_append_nodup(&e->value_list, value ? xstrdup(value) : NULL);
1332
+ si = string_list_append_nodup(&e->value_list, xstrdup_or_null(value));
1333
1334
ALLOC_GROW(cs->list.items, cs->list.nr + 1, cs->list.alloc);
1335
l_item = &cs->list.items[cs->list.nr++];
grep.c
+2
-2
@@ -1646,8 +1646,8 @@ void grep_source_init(struct grep_source *gs, enum grep_source_type type,
1646
const void *identifier)
1647
{
1648
gs->type = type;
1649
- gs->name = name ? xstrdup(name) : NULL;
1650
- gs->path = path ? xstrdup(path) : NULL;
1649
+ gs->name = xstrdup_or_null(name);
1650
+ gs->path = xstrdup_or_null(path);
1651
gs->buf = NULL;
1652
gs->size = 0;
1653
gs->driver = NULL;
notes.c
+1
-1
@@ -1006,7 +1006,7 @@ void init_notes(struct notes_tree *t, const char *notes_ref,
1006
t->root = (struct int_node *) xcalloc(1, sizeof(struct int_node));
1007
t->first_non_note = NULL;
1008
t->prev_non_note = NULL;
1009
- t->ref = notes_ref ? xstrdup(notes_ref) : NULL;
1009
+ t->ref = xstrdup_or_null(notes_ref);
1010
t->combine_notes = combine_notes;
1011
t->initialized = 1;
1012
t->dirty = 0;
refs.c
+1
-2
@@ -1529,8 +1529,7 @@ const char *resolve_ref_unsafe(const char *refname, unsigned char *sha1, int rea
1529
1530
char *resolve_refdup(const char *ref, unsigned char *sha1, int reading, int *flag)
1531
{
1532
- const char *ret = resolve_ref_unsafe(ref, sha1, reading, flag);
1533
- return ret ? xstrdup(ret) : NULL;
1532
+ return xstrdup_or_null(resolve_ref_unsafe(ref, sha1, reading, flag));
1533
}
1534
1535
/* The argument to filter_refs */
remote.c
+2
-2
@@ -975,8 +975,8 @@ struct ref *copy_ref(const struct ref *ref)
975
cpy = xmalloc(sizeof(struct ref) + len + 1);
976
memcpy(cpy, ref, sizeof(struct ref) + len + 1);
977
cpy->next = NULL;
978
- cpy->symref = ref->symref ? xstrdup(ref->symref) : NULL;
979
- cpy->remote_status = ref->remote_status ? xstrdup(ref->remote_status) : NULL;
978
+ cpy->symref = xstrdup_or_null(ref->symref);
979
+ cpy->remote_status = xstrdup_or_null(ref->remote_status);
980
cpy->peer_ref = copy_ref(ref->peer_ref);
981
return cpy;
982
}
shallow.c
+1
-1
@@ -21,7 +21,7 @@ void set_alternate_shallow_file(const char *path, int override)
21
if (alternate_shallow_file && !override)
22
return;
23
free(alternate_shallow_file);
24
- alternate_shallow_file = path ? xstrdup(path) : NULL;
24
+ alternate_shallow_file = xstrdup_or_null(path);
25
}
26
27
int register_shallow(const unsigned char *sha1)
walker.c
+1
-1
@@ -232,7 +232,7 @@ int walker_targets_stdin(char ***target, const char ***write_ref)
232
REALLOC_ARRAY(*write_ref, targets_alloc);
233
}
234
(*target)[targets] = xstrdup(tg_one);
235
- (*write_ref)[targets] = rf_one ? xstrdup(rf_one) : NULL;
235
+ (*write_ref)[targets] = xstrdup_or_null(rf_one);
236
targets++;
237
}
238
strbuf_release(&buf);