Merge branch 'ep/maint-equals-null-cocci'

Introduce and apply coccinelle rule to discourage an explicit
comparison between a pointer and NULL, and applies the clean-up to
the maintenance track.

* ep/maint-equals-null-cocci:
  tree-wide: apply equals-null.cocci
  tree-wide: apply equals-null.cocci
  contrib/coccinnelle: add equals-null.cocci
This commit is contained in:
Junio C Hamano 2022-05-20 15:26:59 -07:00
commit 538dc459a0
67 changed files with 180 additions and 150 deletions

View File

@ -3274,11 +3274,11 @@ static struct patch *in_fn_table(struct apply_state *state, const char *name)
{
struct string_list_item *item;
if (name == NULL)
if (!name)
return NULL;
item = string_list_lookup(&state->fn_table, name);
if (item != NULL)
if (item)
return (struct patch *)item->util;
return NULL;
@ -3318,7 +3318,7 @@ static void add_to_fn_table(struct apply_state *state, struct patch *patch)
* This should cover the cases for normal diffs,
* file creations and copies
*/
if (patch->new_name != NULL) {
if (patch->new_name) {
item = string_list_insert(&state->fn_table, patch->new_name);
item->util = patch;
}

View File

@ -465,7 +465,7 @@ static void parse_treeish_arg(const char **argv,
}
tree = parse_tree_indirect(&oid);
if (tree == NULL)
if (!tree)
die(_("not a tree object: %s"), oid_to_hex(&oid));
if (prefix) {

View File

@ -1072,7 +1072,7 @@ static struct blame_entry *blame_merge(struct blame_entry *list1,
if (p1->s_lno <= p2->s_lno) {
do {
tail = &p1->next;
if ((p1 = *tail) == NULL) {
if (!(p1 = *tail)) {
*tail = p2;
return list1;
}
@ -1082,7 +1082,7 @@ static struct blame_entry *blame_merge(struct blame_entry *list1,
*tail = p2;
do {
tail = &p2->next;
if ((p2 = *tail) == NULL) {
if (!(p2 = *tail)) {
*tail = p1;
return list1;
}
@ -1090,7 +1090,7 @@ static struct blame_entry *blame_merge(struct blame_entry *list1,
*tail = p1;
do {
tail = &p1->next;
if ((p1 = *tail) == NULL) {
if (!(p1 = *tail)) {
*tail = p2;
return list1;
}

View File

@ -466,7 +466,7 @@ static void dwim_branch_start(struct repository *r, const char *start_name,
break;
}
if ((commit = lookup_commit_reference(r, &oid)) == NULL)
if (!(commit = lookup_commit_reference(r, &oid)))
die(_("not a valid branch point: '%s'"), start_name);
if (out_real_ref) {
*out_real_ref = real_ref;

View File

@ -474,7 +474,7 @@ static int bisect_terms(struct bisect_terms *terms, const char *option)
if (get_terms(terms))
return error(_("no terms defined"));
if (option == NULL) {
if (!option) {
printf(_("Your current terms are %s for the old state\n"
"and %s for the new state.\n"),
terms->term_good, terms->term_bad);

View File

@ -834,7 +834,7 @@ static int merge_working_tree(const struct checkout_opts *opts,
if (ret)
return ret;
o.ancestor = old_branch_info->name;
if (old_branch_info->name == NULL) {
if (!old_branch_info->name) {
strbuf_add_unique_abbrev(&old_commit_shortname,
&old_branch_info->commit->object.oid,
DEFAULT_ABBREV);

View File

@ -1106,12 +1106,12 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
* apply the remote name provided by --origin only after this second
* call to git_config, to ensure it overrides all config-based values.
*/
if (option_origin != NULL) {
if (option_origin) {
free(remote_name);
remote_name = xstrdup(option_origin);
}
if (remote_name == NULL)
if (!remote_name)
remote_name = xstrdup("origin");
if (!valid_remote_name(remote_name))

View File

@ -861,7 +861,7 @@ static int prepare_to_commit(const char *index_file, const char *prefix,
}
s->fp = fopen_for_writing(git_path_commit_editmsg());
if (s->fp == NULL)
if (!s->fp)
die_errno(_("could not open '%s'"), git_path_commit_editmsg());
/* Ignore status.displayCommentPrefix: we do need comments in COMMIT_EDITMSG. */

View File

@ -352,7 +352,7 @@ static void symdiff_prepare(struct rev_info *rev, struct symdiff *sym)
othercount++;
continue;
}
if (map == NULL)
if (!map)
map = bitmap_new();
bitmap_set(map, i);
}

View File

@ -446,7 +446,7 @@ static const char *lock_repo_for_gc(int force, pid_t* ret_pid)
fscanf(fp, scan_fmt, &pid, locking_host) == 2 &&
/* be gentle to concurrent "gc" on remote hosts */
(strcmp(locking_host, my_host) || !kill(pid, 0) || errno == EPERM);
if (fp != NULL)
if (fp)
fclose(fp);
if (should_exit) {
if (fd >= 0)
@ -2238,7 +2238,7 @@ static int systemd_timer_write_unit_templates(const char *exec_path)
goto error;
}
file = fopen_or_warn(filename, "w");
if (file == NULL)
if (!file)
goto error;
unit = "# This file was created and is maintained by Git.\n"
@ -2267,7 +2267,7 @@ static int systemd_timer_write_unit_templates(const char *exec_path)
filename = xdg_config_home_systemd("git-maintenance@.service");
file = fopen_or_warn(filename, "w");
if (file == NULL)
if (!file)
goto error;
unit = "# This file was created and is maintained by Git.\n"

View File

@ -1942,11 +1942,11 @@ int cmd_index_pack(int argc, const char **argv, const char *prefix)
free(objects);
strbuf_release(&index_name_buf);
strbuf_release(&rev_index_name_buf);
if (pack_name == NULL)
if (!pack_name)
free((void *) curr_pack);
if (index_name == NULL)
if (!index_name)
free((void *) curr_index);
if (rev_index_name == NULL)
if (!rev_index_name)
free((void *) curr_rev_index);
/*

View File

@ -1030,7 +1030,7 @@ static int open_next_file(struct commit *commit, const char *subject,
if (!quiet)
printf("%s\n", filename.buf + outdir_offset);
if ((rev->diffopt.file = fopen(filename.buf, "w")) == NULL) {
if (!(rev->diffopt.file = fopen(filename.buf, "w"))) {
error_errno(_("cannot open patch file %s"), filename.buf);
strbuf_release(&filename);
return -1;

View File

@ -114,7 +114,7 @@ int cmd_ls_remote(int argc, const char **argv, const char *prefix)
}
transport = transport_get(remote, NULL);
if (uploadpack != NULL)
if (uploadpack)
transport_set_option(transport, TRANS_OPT_UPLOADPACK, uploadpack);
if (server_options.nr)
transport->server_options = &server_options;

View File

@ -120,7 +120,7 @@ static int populate_maildir_list(struct string_list *list, const char *path)
for (sub = subs; *sub; ++sub) {
free(name);
name = xstrfmt("%s/%s", path, *sub);
if ((dir = opendir(name)) == NULL) {
if (!(dir = opendir(name))) {
if (errno == ENOENT)
continue;
error_errno("cannot opendir %s", name);

View File

@ -101,7 +101,7 @@ static inline struct llist_item *llist_insert(struct llist *list,
oidread(&new_item->oid, oid);
new_item->next = NULL;
if (after != NULL) {
if (after) {
new_item->next = after->next;
after->next = new_item;
if (after == list->back)
@ -157,7 +157,7 @@ redo_from_start:
if (cmp > 0) /* not in list, since sorted */
return prev;
if (!cmp) { /* found */
if (prev == NULL) {
if (!prev) {
if (hint != NULL && hint != list->front) {
/* we don't know the previous element */
hint = NULL;
@ -219,7 +219,7 @@ static struct pack_list * pack_list_difference(const struct pack_list *A,
struct pack_list *ret;
const struct pack_list *pl;
if (A == NULL)
if (!A)
return NULL;
pl = B;
@ -317,7 +317,7 @@ static size_t get_pack_redundancy(struct pack_list *pl)
struct pack_list *subset;
size_t ret = 0;
if (pl == NULL)
if (!pl)
return 0;
while ((subset = pl->next)) {
@ -611,7 +611,7 @@ int cmd_pack_redundant(int argc, const char **argv, const char *prefix)
while (*(argv + i) != NULL)
add_pack_file(*(argv + i++));
if (local_packs == NULL)
if (!local_packs)
die("Zero packs found!");
load_all_objects();

View File

@ -1664,7 +1664,7 @@ static void check_aliased_update_internal(struct command *cmd,
}
dst_name = strip_namespace(dst_name);
if ((item = string_list_lookup(list, dst_name)) == NULL)
if (!(item = string_list_lookup(list, dst_name)))
return;
cmd->skip_update = 1;
@ -2538,7 +2538,7 @@ int cmd_receive_pack(int argc, const char **argv, const char *prefix)
PACKET_READ_CHOMP_NEWLINE |
PACKET_READ_DIE_ON_ERR_PACKET);
if ((commands = read_head_info(&reader, &shallow)) != NULL) {
if ((commands = read_head_info(&reader, &shallow))) {
const char *unpack_status = NULL;
struct string_list push_options = STRING_LIST_INIT_DUP;

View File

@ -72,7 +72,7 @@ static int list_replace_refs(const char *pattern, const char *format)
{
struct show_data data;
if (pattern == NULL)
if (!pattern)
pattern = "*";
data.pattern = pattern;

View File

@ -476,7 +476,7 @@ static int cmd_parseopt(int argc, const char **argv, const char *prefix)
/* name(s) */
s = strpbrk(sb.buf, flag_chars);
if (s == NULL)
if (!s)
s = help;
if (s - sb.buf == 1) /* short option only */

View File

@ -81,7 +81,7 @@ static void insert_one_record(struct shortlog *log,
format_subject(&subject, oneline, " ");
buffer = strbuf_detach(&subject, NULL);
if (item->util == NULL)
if (!item->util)
item->util = xcalloc(1, sizeof(struct string_list));
string_list_append(item->util, buffer);
}

View File

@ -364,7 +364,7 @@ static void create_reflog_msg(const struct object_id *oid, struct strbuf *sb)
strbuf_addstr(sb, "object of unknown type");
break;
case OBJ_COMMIT:
if ((buf = read_object_file(oid, &type, &size)) != NULL) {
if ((buf = read_object_file(oid, &type, &size))) {
subject_len = find_commit_subject(buf, &subject_start);
strbuf_insert(sb, sb->len, subject_start, subject_len);
} else {
@ -372,7 +372,7 @@ static void create_reflog_msg(const struct object_id *oid, struct strbuf *sb)
}
free(buf);
if ((c = lookup_commit_reference(the_repository, oid)) != NULL)
if ((c = lookup_commit_reference(the_repository, oid)))
strbuf_addf(sb, ", %s", show_date(c->date, 0, DATE_MODE(SHORT)));
break;
case OBJ_TREE:

View File

@ -195,10 +195,10 @@ static struct lline *coalesce_lines(struct lline *base, int *lenbase,
struct lline *baseend, *newend = NULL;
int i, j, origbaselen = *lenbase;
if (newline == NULL)
if (!newline)
return base;
if (base == NULL) {
if (!base) {
*lenbase = lennew;
return newline;
}

View File

@ -2570,7 +2570,7 @@ int verify_commit_graph(struct repository *r, struct commit_graph *g, int flags)
odb_parents = odb_commit->parents;
while (graph_parents) {
if (odb_parents == NULL) {
if (!odb_parents) {
graph_report(_("commit-graph parent list for commit %s is too long"),
oid_to_hex(&cur_oid));
break;
@ -2593,7 +2593,7 @@ int verify_commit_graph(struct repository *r, struct commit_graph *g, int flags)
odb_parents = odb_parents->next;
}
if (odb_parents != NULL)
if (odb_parents)
graph_report(_("commit-graph parent list for commit %s terminates early"),
oid_to_hex(&cur_oid));

View File

@ -1060,7 +1060,7 @@ char *mingw_mktemp(char *template)
int mkstemp(char *template)
{
char *filename = mktemp(template);
if (filename == NULL)
if (!filename)
return -1;
return open(filename, O_RDWR | O_CREAT, 0600);
}
@ -2332,7 +2332,7 @@ int setitimer(int type, struct itimerval *in, struct itimerval *out)
static const struct timeval zero;
static int atexit_done;
if (out != NULL)
if (out)
return errno = EINVAL,
error("setitimer param 3 != NULL not implemented");
if (!is_timeval_eq(&in->it_interval, &zero) &&
@ -2361,7 +2361,7 @@ int sigaction(int sig, struct sigaction *in, struct sigaction *out)
if (sig != SIGALRM)
return errno = EINVAL,
error("sigaction only implemented for SIGALRM");
if (out != NULL)
if (out)
return errno = EINVAL,
error("sigaction: param 3 != NULL not implemented");

View File

@ -9,7 +9,7 @@ int compat_mkdir_wo_trailing_slash(const char *dir, mode_t mode)
size_t len = strlen(dir);
if (len && dir[len-1] == '/') {
if ((tmp_dir = strdup(dir)) == NULL)
if (!(tmp_dir = strdup(dir)))
return -1;
tmp_dir[len-1] = '\0';
}

View File

@ -13,7 +13,7 @@ void *git_mmap(void *start, size_t length, int prot, int flags, int fd, off_t of
}
start = malloc(length);
if (start == NULL) {
if (!start) {
errno = ENOMEM;
return MAP_FAILED;
}

View File

@ -3190,7 +3190,7 @@ int git_config_set_multivar_in_file_gently(const char *config_filename,
goto out_free;
}
/* if nothing to unset, error out */
if (value == NULL) {
if (!value) {
ret = CONFIG_NOTHING_SET;
goto out_free;
}
@ -3206,7 +3206,7 @@ int git_config_set_multivar_in_file_gently(const char *config_filename,
int i, new_line = 0;
struct config_options opts;
if (value_pattern == NULL)
if (!value_pattern)
store.value_pattern = NULL;
else if (value_pattern == CONFIG_REGEX_NONE)
store.value_pattern = CONFIG_REGEX_NONE;
@ -3346,7 +3346,7 @@ int git_config_set_multivar_in_file_gently(const char *config_filename,
}
/* write the pair (value == NULL means unset) */
if (value != NULL) {
if (value) {
if (!store.section_seen) {
if (write_section(fd, key, &store) < 0)
goto write_err_out;
@ -3567,7 +3567,7 @@ static int git_config_copy_or_rename_section_in_file(const char *config_filename
offset = section_name_match(&buf[i], old_name);
if (offset > 0) {
ret++;
if (new_name == NULL) {
if (!new_name) {
remove = 1;
continue;
}

View File

@ -0,0 +1,30 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
@@
expression e;
statement s;
@@
if (
(
!e
|
- e == NULL
+ !e
)
)
{...}
else s
@@
expression e;
statement s;
@@
if (
(
e
|
- e != NULL
+ e
)
)
{...}
else s

View File

@ -447,7 +447,7 @@ static void copy_to_log(int fd)
FILE *fp;
fp = fdopen(fd, "r");
if (fp == NULL) {
if (!fp) {
logerror("fdopen of error channel failed");
close(fd);
return;

2
dir.c
View File

@ -3110,7 +3110,7 @@ char *git_url_basename(const char *repo, int is_bundle, int is_bare)
* Skip scheme.
*/
start = strstr(repo, "://");
if (start == NULL)
if (!start)
start = repo;
else
start += 3;

View File

@ -218,7 +218,7 @@ int bitmap_is_subset(struct bitmap *self, struct bitmap *other)
void bitmap_free(struct bitmap *bitmap)
{
if (bitmap == NULL)
if (!bitmap)
return;
free(bitmap->words);

View File

@ -451,7 +451,7 @@ struct ewah_bitmap *ewah_pool_new(void)
void ewah_pool_free(struct ewah_bitmap *self)
{
if (self == NULL)
if (!self)
return;
if (bitmap_pool_size == BITMAP_POOL_MAX ||

View File

@ -55,7 +55,7 @@ static void fetch_single_packfile(struct object_id *packfile_hash,
http_init(NULL, url, 0);
preq = new_direct_http_pack_request(packfile_hash->hash, xstrdup(url));
if (preq == NULL)
if (!preq)
die("couldn't create http pack request");
preq->slot->results = &results;
preq->index_pack_args = index_pack_args;

View File

@ -253,7 +253,7 @@ static void start_fetch_loose(struct transfer_request *request)
struct http_object_request *obj_req;
obj_req = new_http_object_request(repo->url, &request->obj->oid);
if (obj_req == NULL) {
if (!obj_req) {
request->state = ABORTED;
return;
}
@ -318,7 +318,7 @@ static void start_fetch_packed(struct transfer_request *request)
fprintf(stderr, " which contains %s\n", oid_to_hex(&request->obj->oid));
preq = new_http_pack_request(target->hash, repo->url);
if (preq == NULL) {
if (!preq) {
repo->can_update_info_refs = 0;
return;
}
@ -520,7 +520,7 @@ static void finish_request(struct transfer_request *request)
/* Keep locks active */
check_locks();
if (request->headers != NULL)
if (request->headers)
curl_slist_free_all(request->headers);
/* URL is reused for MOVE after PUT and used during FETCH */
@ -783,7 +783,7 @@ xml_start_tag(void *userData, const char *name, const char **atts)
const char *c = strchr(name, ':');
int old_namelen, new_len;
if (c == NULL)
if (!c)
c = name;
else
c++;
@ -811,7 +811,7 @@ xml_end_tag(void *userData, const char *name)
ctx->userFunc(ctx, 1);
if (c == NULL)
if (!c)
c = name;
else
c++;
@ -1893,7 +1893,7 @@ int cmd_main(int argc, const char **argv)
/* Lock remote branch ref */
ref_lock = lock_remote(ref->name, LOCK_TIME);
if (ref_lock == NULL) {
if (!ref_lock) {
fprintf(stderr, "Unable to lock remote branch %s\n",
ref->name);
if (helper_status)

View File

@ -59,7 +59,7 @@ static void start_object_request(struct walker *walker,
struct http_object_request *req;
req = new_http_object_request(obj_req->repo->base, &obj_req->oid);
if (req == NULL) {
if (!req) {
obj_req->state = ABORTED;
return;
}
@ -106,7 +106,7 @@ static void process_object_response(void *callback_data)
/* Use alternates if necessary */
if (missing_target(obj_req->req)) {
fetch_alternates(walker, alt->base);
if (obj_req->repo->next != NULL) {
if (obj_req->repo->next) {
obj_req->repo =
obj_req->repo->next;
release_http_object_request(obj_req->req);
@ -225,12 +225,12 @@ static void process_alternates_response(void *callback_data)
alt_req->url->buf);
active_requests++;
slot->in_use = 1;
if (slot->finished != NULL)
if (slot->finished)
(*slot->finished) = 0;
if (!start_active_slot(slot)) {
cdata->got_alternates = -1;
slot->in_use = 0;
if (slot->finished != NULL)
if (slot->finished)
(*slot->finished) = 1;
}
return;
@ -443,7 +443,7 @@ static int http_fetch_pack(struct walker *walker, struct alt_base *repo, unsigne
}
preq = new_http_pack_request(target->hash, repo->base);
if (preq == NULL)
if (!preq)
goto abort;
preq->slot->results = &results;
@ -489,11 +489,11 @@ static int fetch_object(struct walker *walker, unsigned char *hash)
if (hasheq(obj_req->oid.hash, hash))
break;
}
if (obj_req == NULL)
if (!obj_req)
return error("Couldn't find request for %s in the queue", hex);
if (has_object_file(&obj_req->oid)) {
if (obj_req->req != NULL)
if (obj_req->req)
abort_http_object_request(obj_req->req);
abort_object_request(obj_req);
return 0;

46
http.c
View File

@ -197,11 +197,11 @@ static void finish_active_slot(struct active_request_slot *slot)
closedown_active_slot(slot);
curl_easy_getinfo(slot->curl, CURLINFO_HTTP_CODE, &slot->http_code);
if (slot->finished != NULL)
if (slot->finished)
(*slot->finished) = 1;
/* Store slot results so they can be read after the slot is reused */
if (slot->results != NULL) {
if (slot->results) {
slot->results->curl_result = slot->curl_result;
slot->results->http_code = slot->http_code;
curl_easy_getinfo(slot->curl, CURLINFO_HTTPAUTH_AVAIL,
@ -212,7 +212,7 @@ static void finish_active_slot(struct active_request_slot *slot)
}
/* Run callback if appropriate */
if (slot->callback_func != NULL)
if (slot->callback_func)
slot->callback_func(slot->callback_data);
}
@ -234,7 +234,7 @@ static void process_curl_messages(void)
while (slot != NULL &&
slot->curl != curl_message->easy_handle)
slot = slot->next;
if (slot != NULL) {
if (slot) {
xmulti_remove_handle(slot);
slot->curl_result = curl_result;
finish_active_slot(slot);
@ -838,16 +838,16 @@ static CURL *get_curl_handle(void)
curl_easy_setopt(result, CURLOPT_SSL_CIPHER_LIST,
ssl_cipherlist);
if (ssl_cert != NULL)
if (ssl_cert)
curl_easy_setopt(result, CURLOPT_SSLCERT, ssl_cert);
if (has_cert_password())
curl_easy_setopt(result, CURLOPT_KEYPASSWD, cert_auth.password);
if (ssl_key != NULL)
if (ssl_key)
curl_easy_setopt(result, CURLOPT_SSLKEY, ssl_key);
if (ssl_capath != NULL)
if (ssl_capath)
curl_easy_setopt(result, CURLOPT_CAPATH, ssl_capath);
#ifdef GIT_CURL_HAVE_CURLOPT_PINNEDPUBLICKEY
if (ssl_pinnedkey != NULL)
if (ssl_pinnedkey)
curl_easy_setopt(result, CURLOPT_PINNEDPUBLICKEY, ssl_pinnedkey);
#endif
if (http_ssl_backend && !strcmp("schannel", http_ssl_backend) &&
@ -857,10 +857,10 @@ static CURL *get_curl_handle(void)
curl_easy_setopt(result, CURLOPT_PROXY_CAINFO, NULL);
#endif
} else if (ssl_cainfo != NULL || http_proxy_ssl_ca_info != NULL) {
if (ssl_cainfo != NULL)
if (ssl_cainfo)
curl_easy_setopt(result, CURLOPT_CAINFO, ssl_cainfo);
#ifdef GIT_CURL_HAVE_CURLOPT_PROXY_CAINFO
if (http_proxy_ssl_ca_info != NULL)
if (http_proxy_ssl_ca_info)
curl_easy_setopt(result, CURLOPT_PROXY_CAINFO, http_proxy_ssl_ca_info);
#endif
}
@ -1050,7 +1050,7 @@ void http_init(struct remote *remote, const char *url, int proactive_auth)
{
char *http_max_requests = getenv("GIT_HTTP_MAX_REQUESTS");
if (http_max_requests != NULL)
if (http_max_requests)
max_requests = atoi(http_max_requests);
}
@ -1069,10 +1069,10 @@ void http_init(struct remote *remote, const char *url, int proactive_auth)
set_from_env(&user_agent, "GIT_HTTP_USER_AGENT");
low_speed_limit = getenv("GIT_HTTP_LOW_SPEED_LIMIT");
if (low_speed_limit != NULL)
if (low_speed_limit)
curl_low_speed_limit = strtol(low_speed_limit, NULL, 10);
low_speed_time = getenv("GIT_HTTP_LOW_SPEED_TIME");
if (low_speed_time != NULL)
if (low_speed_time)
curl_low_speed_time = strtol(low_speed_time, NULL, 10);
if (curl_ssl_verify == -1)
@ -1109,7 +1109,7 @@ void http_cleanup(void)
while (slot != NULL) {
struct active_request_slot *next = slot->next;
if (slot->curl != NULL) {
if (slot->curl) {
xmulti_remove_handle(slot);
curl_easy_cleanup(slot->curl);
}
@ -1147,13 +1147,13 @@ void http_cleanup(void)
free((void *)http_proxy_authmethod);
http_proxy_authmethod = NULL;
if (cert_auth.password != NULL) {
if (cert_auth.password) {
memset(cert_auth.password, 0, strlen(cert_auth.password));
FREE_AND_NULL(cert_auth.password);
}
ssl_cert_password_required = 0;
if (proxy_cert_auth.password != NULL) {
if (proxy_cert_auth.password) {
memset(proxy_cert_auth.password, 0, strlen(proxy_cert_auth.password));
FREE_AND_NULL(proxy_cert_auth.password);
}
@ -1179,14 +1179,14 @@ struct active_request_slot *get_active_slot(void)
while (slot != NULL && slot->in_use)
slot = slot->next;
if (slot == NULL) {
if (!slot) {
newslot = xmalloc(sizeof(*newslot));
newslot->curl = NULL;
newslot->in_use = 0;
newslot->next = NULL;
slot = active_queue_head;
if (slot == NULL) {
if (!slot) {
active_queue_head = newslot;
} else {
while (slot->next != NULL)
@ -1196,7 +1196,7 @@ struct active_request_slot *get_active_slot(void)
slot = newslot;
}
if (slot->curl == NULL) {
if (!slot->curl) {
slot->curl = curl_easy_duphandle(curl_default);
curl_session_count++;
}
@ -1768,7 +1768,7 @@ static int http_request(const char *url,
slot = get_active_slot();
curl_easy_setopt(slot->curl, CURLOPT_HTTPGET, 1);
if (result == NULL) {
if (!result) {
curl_easy_setopt(slot->curl, CURLOPT_NOBODY, 1);
} else {
curl_easy_setopt(slot->curl, CURLOPT_NOBODY, 0);
@ -2100,7 +2100,7 @@ cleanup:
void release_http_pack_request(struct http_pack_request *preq)
{
if (preq->packfile != NULL) {
if (preq->packfile) {
fclose(preq->packfile);
preq->packfile = NULL;
}
@ -2391,7 +2391,7 @@ abort:
void process_http_object_request(struct http_object_request *freq)
{
if (freq->slot == NULL)
if (!freq->slot)
return;
freq->curl_result = freq->slot->curl_result;
freq->http_code = freq->slot->http_code;
@ -2448,7 +2448,7 @@ void release_http_object_request(struct http_object_request *freq)
freq->localfile = -1;
}
FREE_AND_NULL(freq->url);
if (freq->slot != NULL) {
if (freq->slot) {
freq->slot->callback_func = NULL;
freq->slot->callback_data = NULL;
release_active_slot(freq->slot);

View File

@ -477,7 +477,7 @@ kwsprep (kwset_t kws)
next[i] = NULL;
treenext(kwset->trie->links, next);
if ((trans = kwset->trans) != NULL)
if ((trans = kwset->trans))
for (i = 0; i < NCHAR; ++i)
kwset->next[i] = next[U(trans[i])];
else
@ -485,7 +485,7 @@ kwsprep (kwset_t kws)
}
/* Fix things up for any translation table. */
if ((trans = kwset->trans) != NULL)
if ((trans = kwset->trans))
for (i = 0; i < NCHAR; ++i)
kwset->delta[i] = delta[U(trans[i])];
else

View File

@ -207,7 +207,7 @@ static enum ll_merge_result ll_ext_merge(const struct ll_merge_driver *fn,
dict[4].placeholder = "P"; dict[4].value = path_sq.buf;
dict[5].placeholder = NULL; dict[5].value = NULL;
if (fn->cmdline == NULL)
if (!fn->cmdline)
die("custom merge driver %s lacks command line.", fn->name);
result->ptr = NULL;

View File

@ -88,7 +88,7 @@ static int match_ref_pattern(const char *refname,
const struct string_list_item *item)
{
int matched = 0;
if (item->util == NULL) {
if (!item->util) {
if (!wildmatch(item->string, refname, 0))
matched = 1;
} else {

View File

@ -698,7 +698,7 @@ static int is_scissors_line(const char *line)
continue;
}
last_nonblank = c;
if (first_nonblank == NULL)
if (!first_nonblank)
first_nonblank = c;
if (*c == '-') {
in_perforation = 1;
@ -1094,7 +1094,7 @@ static void handle_body(struct mailinfo *mi, struct strbuf *line)
*/
lines = strbuf_split(line, '\n');
for (it = lines; (sb = *it); it++) {
if (*(it + 1) == NULL) /* The last line */
if (!*(it + 1)) /* The last line */
if (sb->buf[sb->len - 1] != '\n') {
/* Partial line, save it for later. */
strbuf_addbuf(&prev, sb);

View File

@ -77,7 +77,7 @@ static void add_mapping(struct string_list *map,
struct mailmap_entry *me;
struct string_list_item *item;
if (old_email == NULL) {
if (!old_email) {
old_email = new_email;
new_email = NULL;
}
@ -92,7 +92,7 @@ static void add_mapping(struct string_list *map,
item->util = me;
}
if (old_name == NULL) {
if (!old_name) {
debug_mm("mailmap: adding (simple) entry for '%s'\n", old_email);
/* Replace current name and new email for simple entry */
@ -123,9 +123,9 @@ static char *parse_name_and_email(char *buffer, char **name,
char *left, *right, *nstart, *nend;
*name = *email = NULL;
if ((left = strchr(buffer, '<')) == NULL)
if (!(left = strchr(buffer, '<')))
return NULL;
if ((right = strchr(left+1, '>')) == NULL)
if (!(right = strchr(left + 1, '>')))
return NULL;
if (!allow_empty_email && (left+1 == right))
return NULL;
@ -153,7 +153,7 @@ static void read_mailmap_line(struct string_list *map, char *buffer)
if (buffer[0] == '#')
return;
if ((name2 = parse_name_and_email(buffer, &name1, &email1, 0)) != NULL)
if ((name2 = parse_name_and_email(buffer, &name1, &email1, 0)))
parse_name_and_email(name2, &name2, &email2, 1);
if (email1)
@ -320,7 +320,7 @@ int map_user(struct string_list *map,
(int)*emaillen, debug_str(*email));
item = lookup_prefix(map, *email, *emaillen);
if (item != NULL) {
if (item) {
me = (struct mailmap_entry *)item->util;
if (me->namemap.nr) {
/*
@ -334,7 +334,7 @@ int map_user(struct string_list *map,
item = subitem;
}
}
if (item != NULL) {
if (item) {
struct mailmap_info *mi = (struct mailmap_info *)item->util;
if (mi->name == NULL && mi->email == NULL) {
debug_mm("map_user: -- (no simple mapping)\n");

View File

@ -2068,7 +2068,7 @@ static char *handle_path_level_conflicts(struct merge_options *opt,
* to ensure that's the case.
*/
c_info = strmap_get(collisions, new_path);
if (c_info == NULL)
if (!c_info)
BUG("c_info is NULL");
/*
@ -4640,7 +4640,7 @@ static void merge_ort_internal(struct merge_options *opt,
}
merged_merge_bases = pop_commit(&merge_bases);
if (merged_merge_bases == NULL) {
if (!merged_merge_bases) {
/* if there is no common ancestor, use an empty tree */
struct tree *tree;

View File

@ -82,7 +82,7 @@ static struct dir_rename_entry *dir_rename_find_entry(struct hashmap *hashmap,
{
struct dir_rename_entry key;
if (dir == NULL)
if (!dir)
return NULL;
hashmap_entry_init(&key.ent, strhash(dir));
key.dir = dir;
@ -1990,14 +1990,14 @@ static void get_renamed_dir_portion(const char *old_path, const char *new_path,
* renamed means the root directory can never be renamed -- because
* the root directory always exists).
*/
if (end_of_old == NULL)
if (!end_of_old)
return; /* Note: *old_dir and *new_dir are still NULL */
/*
* If new_path contains no directory (end_of_new is NULL), then we
* have a rename of old_path's directory to the root directory.
*/
if (end_of_new == NULL) {
if (!end_of_new) {
*old_dir = xstrndup(old_path, end_of_old - old_path);
*new_dir = xstrdup("");
return;
@ -2116,7 +2116,7 @@ static char *handle_path_level_conflicts(struct merge_options *opt,
* to ensure that's the case.
*/
collision_ent = collision_find_entry(collisions, new_path);
if (collision_ent == NULL)
if (!collision_ent)
BUG("collision_ent is NULL");
/*
@ -2996,7 +2996,7 @@ static void final_cleanup_rename(struct string_list *rename)
const struct rename *re;
int i;
if (rename == NULL)
if (!rename)
return;
for (i = 0; i < rename->nr; i++) {
@ -3605,7 +3605,7 @@ static int merge_recursive_internal(struct merge_options *opt,
}
merged_merge_bases = pop_commit(&merge_bases);
if (merged_merge_bases == NULL) {
if (!merged_merge_bases) {
/* if there is no common ancestor, use an empty tree */
struct tree *tree;

View File

@ -1728,7 +1728,7 @@ void *read_object_file_extended(struct repository *r,
die(_("loose object %s (stored in %s) is corrupt"),
oid_to_hex(repl), path);
if ((p = has_packed_and_bad(r, repl)) != NULL)
if ((p = has_packed_and_bad(r, repl)))
die(_("packed object %s (stored in %s) is corrupt"),
oid_to_hex(repl), p->pack_name);
obj_read_unlock();

View File

@ -111,7 +111,7 @@ static struct ewah_bitmap *lookup_stored_bitmap(struct stored_bitmap *st)
struct ewah_bitmap *parent;
struct ewah_bitmap *composed;
if (st->xor == NULL)
if (!st->xor)
return st->root;
composed = ewah_pool_new();
@ -279,7 +279,7 @@ static int load_bitmap_entries_v1(struct bitmap_index *index)
if (xor_offset > 0) {
xor_bitmap = recent_bitmaps[(i - xor_offset) % MAX_XOR_OFFSET];
if (xor_bitmap == NULL)
if (!xor_bitmap)
return error("Invalid XOR offset in bitmap pack index");
}
@ -728,7 +728,7 @@ static int add_commit_to_bitmap(struct bitmap_index *bitmap_git,
if (!or_with)
return 0;
if (*base == NULL)
if (!*base)
*base = ewah_to_bitmap(or_with);
else
bitmap_or_ewah(*base, or_with);
@ -771,7 +771,7 @@ static struct bitmap *find_objects(struct bitmap_index *bitmap_git,
* Best case scenario: We found bitmaps for all the roots,
* so the resulting `or` bitmap has the full reachability analysis
*/
if (not_mapped == NULL)
if (!not_mapped)
return base;
roots = not_mapped;
@ -805,7 +805,7 @@ static struct bitmap *find_objects(struct bitmap_index *bitmap_git,
struct include_data incdata;
struct bitmap_show_data show_data;
if (base == NULL)
if (!base)
base = bitmap_new();
incdata.bitmap_git = bitmap_git;
@ -1299,7 +1299,7 @@ struct bitmap_index *prepare_bitmap_walk(struct rev_info *revs,
reset_revision_walk();
revs->ignore_missing_links = 0;
if (haves_bitmap == NULL)
if (!haves_bitmap)
BUG("failed to perform bitmap walk");
}
@ -1698,7 +1698,7 @@ void test_bitmap_walk(struct rev_info *revs)
result = ewah_to_bitmap(bm);
}
if (result == NULL)
if (!result)
die("Commit %s doesn't have an indexed bitmap", oid_to_hex(&root->oid));
revs->tag_objects = 1;

View File

@ -116,7 +116,7 @@ int load_idx(const char *path, const unsigned int hashsz, void *idx_map,
if (idx_size < 4 * 256 + hashsz + hashsz)
return error("index file %s is too small", path);
if (idx_map == NULL)
if (!idx_map)
return error("empty data");
if (hdr->idx_signature == htonl(PACK_IDX_SIGNATURE)) {

2
path.c
View File

@ -733,7 +733,7 @@ char *interpolate_path(const char *path, int real_home)
struct strbuf user_path = STRBUF_INIT;
const char *to_copy = path;
if (path == NULL)
if (!path)
goto return_null;
if (skip_prefix(path, "%(prefix)/", &path))

View File

@ -19,7 +19,7 @@ void prio_queue_reverse(struct prio_queue *queue)
{
int i, j;
if (queue->compare != NULL)
if (queue->compare)
BUG("prio_queue_reverse() on non-LIFO queue");
for (i = 0; i < (j = (queue->nr - 1) - i); i++)
swap(queue, i, j);

View File

@ -84,7 +84,7 @@ static void promisor_remote_move_to_tail(struct promisor_remote_config *config,
struct promisor_remote *r,
struct promisor_remote *previous)
{
if (r->next == NULL)
if (!r->next)
return;
if (previous)

View File

@ -1261,7 +1261,7 @@ static void grab_date(const char *buf, struct atom_value *v, const char *atomnam
* ":" means no format is specified, and use the default.
*/
formatp = strchr(atomname, ':');
if (formatp != NULL) {
if (formatp) {
formatp++;
parse_date_format(formatp, &date_mode);
}
@ -1509,7 +1509,7 @@ static void fill_missing_values(struct atom_value *val)
int i;
for (i = 0; i < used_atom_cnt; i++) {
struct atom_value *v = &val[i];
if (v->s == NULL)
if (!v->s)
v->s = xstrdup("");
}
}
@ -1619,7 +1619,7 @@ static const char *rstrip_ref_components(const char *refname, int len)
while (remaining-- > 0) {
char *p = strrchr(start, '/');
if (p == NULL) {
if (!p) {
free((char *)to_free);
return xstrdup("");
} else

View File

@ -134,7 +134,7 @@ int search_ref_dir(struct ref_dir *dir, const char *refname, size_t len)
r = bsearch(&key, dir->entries, dir->nr, sizeof(*dir->entries),
ref_entry_cmp_sslice);
if (r == NULL)
if (!r)
return -1;
return r - dir->entries;

View File

@ -35,7 +35,7 @@ static int count_dir_entries(const char *dirname)
DIR *dir = opendir(dirname);
int len = 0;
struct dirent *d;
if (dir == NULL)
if (!dir)
return 0;
while ((d = readdir(dir))) {

View File

@ -16,7 +16,7 @@ struct tree_node *tree_search(void *key, struct tree_node **rootp,
int insert)
{
int res;
if (*rootp == NULL) {
if (!*rootp) {
if (!insert) {
return NULL;
} else {
@ -50,7 +50,7 @@ void infix_walk(struct tree_node *t, void (*action)(void *arg, void *key),
void tree_free(struct tree_node *t)
{
if (t == NULL) {
if (!t) {
return;
}
if (t->left) {

View File

@ -183,7 +183,7 @@ static void writer_index_hash(struct reftable_writer *w, struct strbuf *hash)
struct tree_node *node = tree_search(&want, &w->obj_index_tree,
&obj_index_tree_node_compare, 0);
struct obj_index_tree_node *key = NULL;
if (node == NULL) {
if (!node) {
struct obj_index_tree_node empty = OBJ_INDEX_TREE_NODE_INIT;
key = reftable_malloc(sizeof(struct obj_index_tree_node));
*key = empty;
@ -222,7 +222,7 @@ static int writer_add_record(struct reftable_writer *w,
strbuf_reset(&w->last_key);
strbuf_addbuf(&w->last_key, &key);
if (w->block_writer == NULL) {
if (!w->block_writer) {
writer_reinit_block_writer(w, reftable_record_type(rec));
}
@ -263,7 +263,7 @@ int reftable_writer_add_ref(struct reftable_writer *w,
};
int err = 0;
if (ref->refname == NULL)
if (!ref->refname)
return REFTABLE_API_ERROR;
if (ref->update_index < w->min_update_index ||
ref->update_index > w->max_update_index)
@ -336,7 +336,7 @@ int reftable_writer_add_log(struct reftable_writer *w,
if (log->value_type == REFTABLE_LOG_DELETION)
return reftable_writer_add_log_verbatim(w, log);
if (log->refname == NULL)
if (!log->refname)
return REFTABLE_API_ERROR;
input_log_message = log->value.update.message;
@ -545,7 +545,7 @@ static int writer_finish_public_section(struct reftable_writer *w)
uint8_t typ = 0;
int err = 0;
if (w->block_writer == NULL)
if (!w->block_writer)
return 0;
typ = block_writer_type(w->block_writer);
@ -694,7 +694,7 @@ static int writer_flush_nonempty_block(struct reftable_writer *w)
static int writer_flush_block(struct reftable_writer *w)
{
if (w->block_writer == NULL)
if (!w->block_writer)
return 0;
if (w->block_writer->entries == 0)
return 0;

View File

@ -591,7 +591,7 @@ int rerere_remaining(struct repository *r, struct string_list *merge_rr)
else if (conflict_type == RESOLVED) {
struct string_list_item *it;
it = string_list_lookup(merge_rr, (const char *)e->name);
if (it != NULL) {
if (it) {
free_rerere_id(it);
it->util = RERERE_RESOLVED;
}

View File

@ -2840,7 +2840,7 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, struct s
}
strvec_clear(&prune_data);
if (revs->def == NULL)
if (!revs->def)
revs->def = opt ? opt->def : NULL;
if (opt && opt->tweak)
opt->tweak(revs, opt);
@ -3659,7 +3659,7 @@ static enum rewrite_result rewrite_one_1(struct rev_info *revs,
return rewrite_one_ok;
if (!p->parents)
return rewrite_one_noparents;
if ((p = one_relevant_parent(revs, p->parents)) == NULL)
if (!(p = one_relevant_parent(revs, p->parents)))
return rewrite_one_ok;
*pp = p;
}

View File

@ -1470,7 +1470,7 @@ int git_config_perm(const char *var, const char *value)
int i;
char *endptr;
if (value == NULL)
if (!value)
return PERM_GROUP;
if (!strcmp(value, "umask"))

View File

@ -397,7 +397,7 @@ subst_from_stdin (void)
/* Substitute the variable's value from the environment. */
const char *env_value = getenv (buffer);
if (env_value != NULL)
if (env_value)
fputs (env_value, stdout);
}
else

View File

@ -560,7 +560,7 @@ static void paint_down(struct paint_info *info, const struct object_id *oid,
else
c->object.flags |= SEEN;
if (*refs == NULL)
if (!*refs)
*refs = bitmap;
else {
memcpy(tmp, *refs, bitmap_size);

View File

@ -1029,7 +1029,7 @@ static FILE *create_in_place_tempfile(const char *file)
/* Create temporary file in the same directory as the original */
tail = strrchr(file, '/');
if (tail != NULL)
if (tail)
strbuf_add(&filename_template, file, tail - file + 1);
strbuf_addstr(&filename_template, "git-interpret-trailers-XXXXXX");

View File

@ -438,7 +438,7 @@ static int fetch_refs_via_pack(struct transport *transport,
args.self_contained_and_connected;
data->options.connectivity_checked = args.connectivity_checked;
if (refs == NULL)
if (!refs)
ret = -1;
if (report_unmatched_refs(to_fetch, nr_heads))
ret = -1;

View File

@ -113,7 +113,7 @@ static int dowild(const uchar *p, const uchar *text, unsigned int flags)
/* Trailing "**" matches everything. Trailing "*" matches
* only if there are no more slash characters. */
if (!match_slash) {
if (strchr((char*)text, '/') != NULL)
if (strchr((char *)text, '/'))
return WM_NOMATCH;
}
return WM_MATCH;

View File

@ -483,7 +483,7 @@ int submodule_uses_worktrees(const char *path)
return 0;
d = readdir_skip_dot_and_dotdot(dir);
if (d != NULL)
if (d)
ret = 1;
closedir(dir);
return ret;

View File

@ -393,7 +393,7 @@ FILE *xfopen(const char *path, const char *mode)
FILE *xfdopen(int fd, const char *mode)
{
FILE *stream = fdopen(fd, mode);
if (stream == NULL)
if (!stream)
die_errno("Out of memory? fdopen failed");
return stream;
}

View File

@ -159,7 +159,7 @@ int read_mmfile(mmfile_t *ptr, const char *filename)
if (stat(filename, &st))
return error_errno("Could not stat %s", filename);
if ((f = fopen(filename, "rb")) == NULL)
if (!(f = fopen(filename, "rb")))
return error_errno("Could not open %s", filename);
sz = xsize_t(st.st_size);
ptr->ptr = xmalloc(sz ? sz : 1);

View File

@ -65,7 +65,7 @@ xdchange_t *xdl_get_hunk(xdchange_t **xscr, xdemitconf_t const *xecfg)
*xscr = xch;
}
if (*xscr == NULL)
if (!*xscr)
return NULL;
lxch = *xscr;

View File

@ -188,7 +188,7 @@ static int xdl_prepare_ctx(unsigned int pass, mmfile_t *mf, long narec, xpparam_
memset(rhash, 0, hsize * sizeof(xrecord_t *));
nrec = 0;
if ((cur = blk = xdl_mmfile_first(mf, &bsize)) != NULL) {
if ((cur = blk = xdl_mmfile_first(mf, &bsize))) {
for (top = blk + bsize; cur < top; ) {
prev = cur;
hav = xdl_hash_record(&cur, top, xpp->flags);

View File

@ -122,7 +122,7 @@ long xdl_guess_lines(mmfile_t *mf, long sample) {
long nl = 0, size, tsize = 0;
char const *data, *cur, *top;
if ((cur = data = xdl_mmfile_first(mf, &size)) != NULL) {
if ((cur = data = xdl_mmfile_first(mf, &size))) {
for (top = data + size; nl < sample && cur < top; ) {
nl++;
if (!(cur = memchr(cur, '\n', top - cur)))