summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2024-06-08 20:37:46 +0200
committerJunio C Hamano <gitster@pobox.com>2024-06-10 18:16:30 +0200
commitba744647eae1eeee3a1c2c3d3a2b331fc1075b54 (patch)
tree508372253ecab0dbde508d19001d75808e33ec75
parent__attribute__: remove redundant attribute declaration for git_die_config() (diff)
downloadgit-ba744647eae1eeee3a1c2c3d3a2b331fc1075b54.tar.xz
git-ba744647eae1eeee3a1c2c3d3a2b331fc1075b54.zip
__attribute__: mark some functions with LAST_ARG_MUST_BE_NULL
Some varargs functions that use NULL-terminated parameter list were missing __attributes__ ((sentinel)) aka LAST_ARG_MUST_BE_NULL. Add them. Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--add-patch.c1
-rw-r--r--attr.h2
-rw-r--r--hook.h1
-rw-r--r--scalar.c1
4 files changed, 5 insertions, 0 deletions
diff --git a/add-patch.c b/add-patch.c
index 0997d4af73..b2fbd8cbf3 100644
--- a/add-patch.c
+++ b/add-patch.c
@@ -300,6 +300,7 @@ static void err(struct add_p_state *s, const char *fmt, ...)
va_end(args);
}
+LAST_ARG_MUST_BE_NULL
static void setup_child_process(struct add_p_state *s,
struct child_process *cp, ...)
{
diff --git a/attr.h b/attr.h
index 127998ae01..afa33ce3be 100644
--- a/attr.h
+++ b/attr.h
@@ -190,6 +190,8 @@ struct attr_check {
};
struct attr_check *attr_check_alloc(void);
+
+LAST_ARG_MUST_BE_NULL
struct attr_check *attr_check_initl(const char *, ...);
struct attr_check *attr_check_dup(const struct attr_check *check);
diff --git a/hook.h b/hook.h
index 19ab9a5806..6511525aeb 100644
--- a/hook.h
+++ b/hook.h
@@ -86,5 +86,6 @@ int run_hooks(const char *hook_name);
* argument. These things will be used as positional arguments to the
* hook. This function behaves like the old run_hook_le() API.
*/
+LAST_ARG_MUST_BE_NULL
int run_hooks_l(const char *hook_name, ...);
#endif
diff --git a/scalar.c b/scalar.c
index fb2940c2a0..552ac8f0d9 100644
--- a/scalar.c
+++ b/scalar.c
@@ -70,6 +70,7 @@ static void setup_enlistment_directory(int argc, const char **argv,
strbuf_release(&path);
}
+LAST_ARG_MUST_BE_NULL
static int run_git(const char *arg, ...)
{
struct child_process cmd = CHILD_PROCESS_INIT;