From patchwork Wed Jul 14 00:15:40 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?w4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24=?= X-Patchwork-Id: 12375431 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E872EC11F66 for ; Wed, 14 Jul 2021 00:15:51 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id CCEC761370 for ; Wed, 14 Jul 2021 00:15:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237147AbhGNASl (ORCPT ); Tue, 13 Jul 2021 20:18:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36696 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236981AbhGNASl (ORCPT ); Tue, 13 Jul 2021 20:18:41 -0400 Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com [IPv6:2a00:1450:4864:20::42d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BE298C0613E9 for ; Tue, 13 Jul 2021 17:15:49 -0700 (PDT) Received: by mail-wr1-x42d.google.com with SMTP id u1so929675wrs.1 for ; Tue, 13 Jul 2021 17:15:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=dslKaYUbJj628knJ/DIHRtHZ6OoT95Cd25nYVQb7lN4=; b=R6bLNSIdNHT+DuxqwxdSGQXsiIWEGArEPd73uZN9e/Dh0jHeOT09TtuUdVDLZxmrzk r+lAoi8pzacSXze9ofZBsyKiP14/Pl6ly1v0KdPmvVyOtw5aTIvIuw7HOgdi4HWzKnzJ c4KRF6ZhbJleNIfOaw97+f5VwVuXAbajtStmhTF7f5BNwszi00KOon9XBJm2qp974PAw o+dA1y5XTVVcOe/J1PFNr9AOCLa79xUT2+zFSwURtwWT2T3N+ikE2to7cMsrrlweQGrU 24g+thbMqZ7d5zpRRnGNG+FR4LCHa9rydZF23aK+SOH+EUyJWvUoAWW8I4RLcB2T76WK w8/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=dslKaYUbJj628knJ/DIHRtHZ6OoT95Cd25nYVQb7lN4=; b=PtvQKuazlEw9x9Qy3eNb8jAb6AC7umq313oar9ONFWfaUp8eHVYlRWk0CLp+7la2nV g/DcEhaws4Iv1VbMeMf7+Xvk2nfEyNvTyQhQA8Qdr8LVz3E6Hu8sPymF3acbyBmFqmwL FwrLHZNblCaP1ybcJuRcLwlK9TbaCX3nTisVw3zb/wwb6li6brFivN4gQ6ESua0/orBK FYU4x1D06n3pvISRr7BeeZqoq/jKwARE9ieu+YyUBFv0wEqXdhGd2jp6pdl6Md/e3qz3 QyWi5PNBIg4ihKzRtOuuiXXb2rl8/AWOVM7+hTKu28eUJkvPDUn8HzOB3RaTV9DY7iPu DQIg== X-Gm-Message-State: AOAM532kwjdIx9+0Wt4BdfJW6tx+Il1GLXNwC51JWdLJ1VyEo2hHKpiR OYFtDkN/xmDtNmzEgudYP3gXUpDLTNaN3jt0 X-Google-Smtp-Source: ABdhPJzeD7G9BEo4Rc0g7dcHaB/BDk8zWCgMmLMhJz8ICeih3P1OJgoWkR5wJR2ePI1YLJp7SPiC8w== X-Received: by 2002:adf:f74f:: with SMTP id z15mr9140984wrp.54.1626221748229; Tue, 13 Jul 2021 17:15:48 -0700 (PDT) Received: from vm.nix.is (vm.nix.is. [2a01:4f8:120:2468::2]) by smtp.gmail.com with ESMTPSA id y197sm2876518wmc.7.2021.07.13.17.15.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Jul 2021 17:15:47 -0700 (PDT) From: =?utf-8?b?w4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24=?= To: git@vger.kernel.org Cc: Junio C Hamano , Jeff King , =?utf-8?b?w4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24=?= Subject: [PATCH v3 1/5] *.c static functions: don't forward-declare __attribute__ Date: Wed, 14 Jul 2021 02:15:40 +0200 Message-Id: X-Mailer: git-send-email 2.32.0-dev In-Reply-To: References: MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org 9cf6d3357aa (Add git-index-pack utility, 2005-10-12) and 466dbc42f58 (receive-pack: Send internal errors over side-band #2, 2010-02-10) we added these static functions and forward-declared their __attribute__((printf)). I think this may have been to work around some compiler limitation at the time, but in any case we have a lot of code that uses the briefer way of declaring these that I'm using here, so if we had any such issues with compilers we'd have seen them already. Signed-off-by: Ævar Arnfjörð Bjarmason --- builtin/index-pack.c | 4 +--- builtin/receive-pack.c | 5 ++--- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/builtin/index-pack.c b/builtin/index-pack.c index 3fbc5d7077..8336466865 100644 --- a/builtin/index-pack.c +++ b/builtin/index-pack.c @@ -369,9 +369,7 @@ static void parse_pack_header(void) use(sizeof(struct pack_header)); } -static NORETURN void bad_object(off_t offset, const char *format, - ...) __attribute__((format (printf, 2, 3))); - +__attribute__((format (printf, 2, 3))) static NORETURN void bad_object(off_t offset, const char *format, ...) { va_list params; diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c index a34742513a..2d1f97e1ca 100644 --- a/builtin/receive-pack.c +++ b/builtin/receive-pack.c @@ -425,9 +425,6 @@ static int proc_receive_ref_matches(struct command *cmd) return 0; } -static void rp_error(const char *err, ...) __attribute__((format (printf, 1, 2))); -static void rp_warning(const char *err, ...) __attribute__((format (printf, 1, 2))); - static void report_message(const char *prefix, const char *err, va_list params) { int sz; @@ -445,6 +442,7 @@ static void report_message(const char *prefix, const char *err, va_list params) xwrite(2, msg, sz); } +__attribute__((format (printf, 1, 2))) static void rp_warning(const char *err, ...) { va_list params; @@ -453,6 +451,7 @@ static void rp_warning(const char *err, ...) va_end(params); } +__attribute__((format (printf, 1, 2))) static void rp_error(const char *err, ...) { va_list params; From patchwork Wed Jul 14 00:15:41 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?w4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24=?= X-Patchwork-Id: 12375433 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 19200C07E95 for ; Wed, 14 Jul 2021 00:15:54 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 0465261369 for ; Wed, 14 Jul 2021 00:15:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237165AbhGNASo (ORCPT ); Tue, 13 Jul 2021 20:18:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36700 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236981AbhGNASm (ORCPT ); Tue, 13 Jul 2021 20:18:42 -0400 Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com [IPv6:2a00:1450:4864:20::32b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9C414C0613DD for ; Tue, 13 Jul 2021 17:15:50 -0700 (PDT) Received: by mail-wm1-x32b.google.com with SMTP id f8-20020a1c1f080000b029022d4c6cfc37so1457004wmf.5 for ; Tue, 13 Jul 2021 17:15:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=L/yQD5bmohKAz1wuNbjoW8d1gQY1+WGwVyQRmZ364Pw=; b=B2AG9JAW4GSqd/hf/QoKYKexhV/azNCosUPLFgZkZxXVR8ZinW8ekopkoOH+fbxBt/ 5jVUZSHc+pIpECpNKfGvUl/XfFz0vCWK9k3vRu30PtB+ynLvSLqrwi00dI4aQ6r7ga/h V9gOmVzLhWm/5gsW3JRi1nF3OEe5r65YmuJgqPUbHGCWo/L6plFqdZRQ41cPqVFVIksG wotlrQF5qIaIQ4YePT/WJ/VB08bjKWxiIqvknqkmPnEcS5589X+zvYUMHDyerhQ3MCSg I7FQVqFdMqPSfTXRROKzC42KDgVFjSEXXEKuxIvHpqJIV23QD3hWlABR2mqzKhxEw5fu /PHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=L/yQD5bmohKAz1wuNbjoW8d1gQY1+WGwVyQRmZ364Pw=; b=GIWFBg8ibaFjWUjGjERMBJ54gM6MnMnHmrGrqR1/sqvcnCkmhfcCUtodLD0yVI/CGB ku0bLXbuyX1+wEBzA6Sn2SeNhSllX4AFUPbGLGqYxyCv13tzsESJCg7loBKfUrnueJB7 mPCfrv8vUuw2kEvwkWrqUNAi1AuGf67TIhUzmLR/M3oUo0MNFTn5FbwF32t+kZssRHA6 xadLOIaJqDF85XFxJ/6ZoEAKSOTADBu+dYwp3CYWsHjmuR9obUOv4D5GfEdyN2lYbo70 7aNmIfQ/WiagvU8KtTGFkC5c3qgACNwYGebSoZbsJ/9ZV1+yOgmCVyNtcNYq9lX686zs YMGw== X-Gm-Message-State: AOAM530mWqtZmgmirXktdPdhVANHOLcTgSTdkMP4A0AJa45DUG7vxaVX CVZO98zOdht0THeZGjly23/jdlHrBuPo06QM X-Google-Smtp-Source: ABdhPJzhYJUc08K7Z+ttiEEzSR8KsElIJap+3SMsiGZCpzWGaXMPYSiG+ZSl6Y3TULH11p++N15U9Q== X-Received: by 2002:a05:600c:3b92:: with SMTP id n18mr8029877wms.69.1626221748987; Tue, 13 Jul 2021 17:15:48 -0700 (PDT) Received: from vm.nix.is (vm.nix.is. [2a01:4f8:120:2468::2]) by smtp.gmail.com with ESMTPSA id y197sm2876518wmc.7.2021.07.13.17.15.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Jul 2021 17:15:48 -0700 (PDT) From: =?utf-8?b?w4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24=?= To: git@vger.kernel.org Cc: Junio C Hamano , Jeff King , =?utf-8?b?w4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24=?= Subject: [PATCH v3 2/5] sequencer.c: move static function to avoid forward decl Date: Wed, 14 Jul 2021 02:15:41 +0200 Message-Id: X-Mailer: git-send-email 2.32.0-dev In-Reply-To: References: MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Move the reflog_message() function added in 96e832a5fd6 (sequencer (rebase -i): refactor setting the reflog message, 2017-01-02), it gained another user in 9055e401dd6 (sequencer: introduce new commands to reset the revision, 2018-04-25). Let's move it around and remove the forward declaration added in the latter commit. Signed-off-by: Ævar Arnfjörð Bjarmason --- sequencer.c | 41 +++++++++++++++++++---------------------- 1 file changed, 19 insertions(+), 22 deletions(-) diff --git a/sequencer.c b/sequencer.c index 0bec01cf38..c316d8374a 100644 --- a/sequencer.c +++ b/sequencer.c @@ -3599,7 +3599,25 @@ static int do_label(struct repository *r, const char *name, int len) } static const char *reflog_message(struct replay_opts *opts, - const char *sub_action, const char *fmt, ...); + const char *sub_action, const char *fmt, ...) +{ + va_list ap; + static struct strbuf buf = STRBUF_INIT; + char *reflog_action = getenv(GIT_REFLOG_ACTION); + + va_start(ap, fmt); + strbuf_reset(&buf); + strbuf_addstr(&buf, reflog_action ? reflog_action : action_name(opts)); + if (sub_action) + strbuf_addf(&buf, " (%s)", sub_action); + if (fmt) { + strbuf_addstr(&buf, ": "); + strbuf_vaddf(&buf, fmt, ap); + } + va_end(ap); + + return buf.buf; +} static int do_reset(struct repository *r, const char *name, int len, @@ -4178,27 +4196,6 @@ int apply_autostash_oid(const char *stash_oid) return apply_save_autostash_oid(stash_oid, 1); } -static const char *reflog_message(struct replay_opts *opts, - const char *sub_action, const char *fmt, ...) -{ - va_list ap; - static struct strbuf buf = STRBUF_INIT; - char *reflog_action = getenv(GIT_REFLOG_ACTION); - - va_start(ap, fmt); - strbuf_reset(&buf); - strbuf_addstr(&buf, reflog_action ? reflog_action : action_name(opts)); - if (sub_action) - strbuf_addf(&buf, " (%s)", sub_action); - if (fmt) { - strbuf_addstr(&buf, ": "); - strbuf_vaddf(&buf, fmt, ap); - } - va_end(ap); - - return buf.buf; -} - static int run_git_checkout(struct repository *r, struct replay_opts *opts, const char *commit, const char *action) { From patchwork Wed Jul 14 00:15:42 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?w4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24=?= X-Patchwork-Id: 12375435 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9C8B0C11F66 for ; Wed, 14 Jul 2021 00:15:54 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 5FFDE6128C for ; Wed, 14 Jul 2021 00:15:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237174AbhGNASo (ORCPT ); Tue, 13 Jul 2021 20:18:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36706 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237155AbhGNASn (ORCPT ); Tue, 13 Jul 2021 20:18:43 -0400 Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com [IPv6:2a00:1450:4864:20::436]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4AC8AC0613E9 for ; Tue, 13 Jul 2021 17:15:51 -0700 (PDT) Received: by mail-wr1-x436.google.com with SMTP id l7so890459wrv.7 for ; Tue, 13 Jul 2021 17:15:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=wSzJiaRys8MEwLx29CBT9JFknXxR9FkUdPnPxaAzaWA=; b=HeB9yulpSN1vl4LQV1URNDTYl/FX3dCq0FdOW8Awlq8GHP3nhNXeHY6hMku6DlJtCN KKMFT9DwGLjrrcwP/Gzk3Mu3nmis7IRwobR++clWWMc9GdV6AAjLxV05yYB2mj9d5ILh 9n5TY3fDwo1Sc6pDZgItpB+Y0yDfhXy+Vw/XqcLkpWssR68g+z6SGLgsPJy4HRl5DUP7 38rLZkeLVdi9RHtrdeCZKSi7Z/KlKW5RprVIweONsYWGB7+bzlBfCtbG9Ki8coS0TwUA nhNUWBrHtZ8LikOVfkaqBDRf+7t8KRytW2WCzVXu9E/JbEW96JPphCAPP/9FltAbmH/l SGGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=wSzJiaRys8MEwLx29CBT9JFknXxR9FkUdPnPxaAzaWA=; b=HX72XFtfzAaKhgjyR3GJuRXRex7Rg80VucHkzM/Reeuwu20XzdJoUy7675nCvTeu7O YQyCYwShgjsUuRYrwlug8V/hMKqLS+UenU5XU/EVmaJIgeUgSY969LTOmXhrD41qE/1F Qt0sw9XIxhxjdPhe43kgnvjGq9Jp9GuNKsscWxg9TSgK1BhRl+94Hfmzy9SOB2zsT72A QiXnCzgio5rBTG/01ysDcejhEQ+GtbYf1YidenfwoU2zHoeJpF06cv+kmlvGezxTeIlN cSniNV3B1n0FZhd/74vw+DUd5L2HVl+feenObJEBMAM+3XJ4VkNMEqknSLDGz46M9CB0 4E2w== X-Gm-Message-State: AOAM533CbAYJ3D8WZQwok0L4J87CsWEuyIYXexBJJqhjsQhhpCOww5hu zKis10VUz+VcyJmd0/a+o/ht0Tb/GkTBNKd+ X-Google-Smtp-Source: ABdhPJy6IYU+WAnCGy628HZR5T/jFnKmTHdW3wyovpOTYjnegSsjPynZNun1YkaBqwQsr0nJ6RAN4w== X-Received: by 2002:adf:e582:: with SMTP id l2mr9074144wrm.101.1626221749687; Tue, 13 Jul 2021 17:15:49 -0700 (PDT) Received: from vm.nix.is (vm.nix.is. [2a01:4f8:120:2468::2]) by smtp.gmail.com with ESMTPSA id y197sm2876518wmc.7.2021.07.13.17.15.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Jul 2021 17:15:49 -0700 (PDT) From: =?utf-8?b?w4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24=?= To: git@vger.kernel.org Cc: Junio C Hamano , Jeff King , =?utf-8?b?w4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24=?= Subject: [PATCH v3 3/5] *.c static functions: add missing __attribute__((format)) Date: Wed, 14 Jul 2021 02:15:42 +0200 Message-Id: X-Mailer: git-send-email 2.32.0-dev In-Reply-To: References: MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Add missing __attribute__((format)) function attributes to various "static" functions that take printf arguments. Signed-off-by: Ævar Arnfjörð Bjarmason --- add-patch.c | 1 + builtin/am.c | 1 + builtin/bisect--helper.c | 2 ++ commit-graph.c | 1 + contrib/credential/osxkeychain/git-credential-osxkeychain.c | 1 + contrib/credential/wincred/git-credential-wincred.c | 1 + gettext.c | 1 + imap-send.c | 3 +++ mailmap.c | 1 + merge-ort.c | 1 + merge-recursive.c | 1 + midx.c | 1 + ref-filter.c | 1 + sequencer.c | 2 ++ server-info.c | 1 + worktree.c | 1 + 16 files changed, 20 insertions(+) diff --git a/add-patch.c b/add-patch.c index 2fad92ca37..8c41cdfe39 100644 --- a/add-patch.c +++ b/add-patch.c @@ -280,6 +280,7 @@ static void add_p_state_clear(struct add_p_state *s) clear_add_i_state(&s->s); } +__attribute__((format (printf, 2, 3))) static void err(struct add_p_state *s, const char *fmt, ...) { va_list args; diff --git a/builtin/am.c b/builtin/am.c index 0b2d886c81..0c2ad96b70 100644 --- a/builtin/am.c +++ b/builtin/am.c @@ -210,6 +210,7 @@ static void write_state_bool(const struct am_state *state, * If state->quiet is false, calls fprintf(fp, fmt, ...), and appends a newline * at the end. */ +__attribute__((format (printf, 3, 4))) static void say(const struct am_state *state, FILE *fp, const char *fmt, ...) { va_list ap; diff --git a/builtin/bisect--helper.c b/builtin/bisect--helper.c index 9d9540a0ab..f184eaeac6 100644 --- a/builtin/bisect--helper.c +++ b/builtin/bisect--helper.c @@ -117,6 +117,7 @@ static int write_in_file(const char *path, const char *mode, const char *format, return fclose(fp); } +__attribute__((format (printf, 2, 3))) static int write_to_file(const char *path, const char *format, ...) { int res; @@ -129,6 +130,7 @@ static int write_to_file(const char *path, const char *format, ...) return res; } +__attribute__((format (printf, 2, 3))) static int append_to_file(const char *path, const char *format, ...) { int res; diff --git a/commit-graph.c b/commit-graph.c index 2bcb4e0f89..9179a3a647 100644 --- a/commit-graph.c +++ b/commit-graph.c @@ -2408,6 +2408,7 @@ int write_commit_graph(struct object_directory *odb, #define VERIFY_COMMIT_GRAPH_ERROR_HASH 2 static int verify_commit_graph_error; +__attribute__((format (printf, 1, 2))) static void graph_report(const char *fmt, ...) { va_list ap; diff --git a/contrib/credential/osxkeychain/git-credential-osxkeychain.c b/contrib/credential/osxkeychain/git-credential-osxkeychain.c index bcd3f575a3..0b44a9b7cc 100644 --- a/contrib/credential/osxkeychain/git-credential-osxkeychain.c +++ b/contrib/credential/osxkeychain/git-credential-osxkeychain.c @@ -10,6 +10,7 @@ static char *username; static char *password; static UInt16 port; +__attribute__((format (printf, 1, 2))) static void die(const char *err, ...) { char msg[4096]; diff --git a/contrib/credential/wincred/git-credential-wincred.c b/contrib/credential/wincred/git-credential-wincred.c index 5bdad41de1..5091048f9c 100644 --- a/contrib/credential/wincred/git-credential-wincred.c +++ b/contrib/credential/wincred/git-credential-wincred.c @@ -11,6 +11,7 @@ #define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0])) +__attribute__((format (printf, 1, 2))) static void die(const char *err, ...) { char msg[4096]; diff --git a/gettext.c b/gettext.c index af2413b47e..bb5ba1fe7c 100644 --- a/gettext.c +++ b/gettext.c @@ -66,6 +66,7 @@ const char *get_preferred_languages(void) } #ifndef NO_GETTEXT +__attribute__((format (printf, 1, 2))) static int test_vsnprintf(const char *fmt, ...) { char buf[26]; diff --git a/imap-send.c b/imap-send.c index bb085d66d1..ce5a0461a4 100644 --- a/imap-send.c +++ b/imap-send.c @@ -451,6 +451,7 @@ static int buffer_gets(struct imap_buffer *b, char **s) /* not reached */ } +__attribute__((format (printf, 1, 2))) static void imap_info(const char *msg, ...) { va_list va; @@ -463,6 +464,7 @@ static void imap_info(const char *msg, ...) } } +__attribute__((format (printf, 1, 2))) static void imap_warn(const char *msg, ...) { va_list va; @@ -504,6 +506,7 @@ static char *next_arg(char **s) return ret; } +__attribute__((format (printf, 3, 4))) static int nfsnprintf(char *buf, int blen, const char *fmt, ...) { int ret; diff --git a/mailmap.c b/mailmap.c index d1f7c0d272..462b395634 100644 --- a/mailmap.c +++ b/mailmap.c @@ -8,6 +8,7 @@ #define debug_mm(...) fprintf(stderr, __VA_ARGS__) #define debug_str(X) ((X) ? (X) : "(none)") #else +__attribute__((format (printf, 1, 2))) static inline void debug_mm(const char *format, ...) {} static inline const char *debug_str(const char *s) { return s; } #endif diff --git a/merge-ort.c b/merge-ort.c index b954f7184a..955d1d0502 100644 --- a/merge-ort.c +++ b/merge-ort.c @@ -529,6 +529,7 @@ static void clear_or_reinit_internal_opts(struct merge_options_internal *opti, renames->callback_data_nr = renames->callback_data_alloc = 0; } +__attribute__((format (printf, 2, 3))) static int err(struct merge_options *opt, const char *err, ...) { va_list params; diff --git a/merge-recursive.c b/merge-recursive.c index 4327e0cfa3..5d54990af9 100644 --- a/merge-recursive.c +++ b/merge-recursive.c @@ -167,6 +167,7 @@ static void flush_output(struct merge_options *opt) } } +__attribute__((format (printf, 2, 3))) static int err(struct merge_options *opt, const char *err, ...) { va_list params; diff --git a/midx.c b/midx.c index 21d6a05e88..0956849e2a 100644 --- a/midx.c +++ b/midx.c @@ -1162,6 +1162,7 @@ void clear_midx_file(struct repository *r) static int verify_midx_error; +__attribute__((format (printf, 1, 2))) static void midx_report(const char *fmt, ...) { va_list ap; diff --git a/ref-filter.c b/ref-filter.c index 4db0e40ff4..f45d3a1b26 100644 --- a/ref-filter.c +++ b/ref-filter.c @@ -213,6 +213,7 @@ static int used_atom_cnt, need_tagged, need_symref; * Expand string, append it to strbuf *sb, then return error code ret. * Allow to save few lines of code. */ +__attribute__((format (printf, 3, 4))) static int strbuf_addf_ret(struct strbuf *sb, int ret, const char *fmt, ...) { va_list ap; diff --git a/sequencer.c b/sequencer.c index c316d8374a..7f07cd00f3 100644 --- a/sequencer.c +++ b/sequencer.c @@ -3521,6 +3521,7 @@ static int do_exec(struct repository *r, const char *command_line) return status; } +__attribute__((format (printf, 2, 3))) static int safe_append(const char *filename, const char *fmt, ...) { va_list ap; @@ -3598,6 +3599,7 @@ static int do_label(struct repository *r, const char *name, int len) return ret; } +__attribute__((format (printf, 3, 4))) static const char *reflog_message(struct replay_opts *opts, const char *sub_action, const char *fmt, ...) { diff --git a/server-info.c b/server-info.c index de0aa4498c..7701d7c20a 100644 --- a/server-info.c +++ b/server-info.c @@ -27,6 +27,7 @@ static int uic_is_stale(const struct update_info_ctx *uic) return uic->old_fp == NULL; } +__attribute__((format (printf, 2, 3))) static int uic_printf(struct update_info_ctx *uic, const char *fmt, ...) { va_list ap; diff --git a/worktree.c b/worktree.c index 237517baee..092a4f92ad 100644 --- a/worktree.c +++ b/worktree.c @@ -265,6 +265,7 @@ const char *worktree_prune_reason(struct worktree *wt, timestamp_t expire) } /* convenient wrapper to deal with NULL strbuf */ +__attribute__((format (printf, 2, 3))) static void strbuf_addf_gently(struct strbuf *buf, const char *fmt, ...) { va_list params; From patchwork Wed Jul 14 00:15:43 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?w4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24=?= X-Patchwork-Id: 12375439 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CDC5DC11F68 for ; Wed, 14 Jul 2021 00:15:55 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id B9B9A61380 for ; Wed, 14 Jul 2021 00:15:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237175AbhGNASp (ORCPT ); Tue, 13 Jul 2021 20:18:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36708 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237162AbhGNASn (ORCPT ); Tue, 13 Jul 2021 20:18:43 -0400 Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com [IPv6:2a00:1450:4864:20::42b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0C574C0613EE for ; Tue, 13 Jul 2021 17:15:52 -0700 (PDT) Received: by mail-wr1-x42b.google.com with SMTP id f17so902836wrt.6 for ; Tue, 13 Jul 2021 17:15:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=CxAEuR7M5B4588j/R/sVirSlZDKIe8EG1UKtiXlMS+U=; b=MIxanvnXyaPBXl0U5gm1o6J6zXzUZr+zFCFgrvQe8flBmyoL8puHwBmD0Da9MFpXWB ogaflnLGU4pgMSfeTVtgxYMMNbNG38KSLCn2Qtq3SDS6OQirPKwzV9hrgi8Gz1CzFN8v xq94HB8MYcLmauVOr9EhOAMF1wyW62tMz5fkXiL2xe3c2IFWch72e0aDHrumKPcNVi6z HRJ4ckHUemFuTIAoJpsMxUBi9s8ckr29V9xwUH8e1joUXi6x1dPt60HuKu2SkS3W+zt/ U1L8aav5Zb9ZebZumrDkCGCKoGF23blbkCEu8DC4EPFRVZy2nZdxUd49Edx0MLxoTC0h r8mQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=CxAEuR7M5B4588j/R/sVirSlZDKIe8EG1UKtiXlMS+U=; b=j7C6kkzM9VaykG05xBrfDC5d2I2DrHbxQyMJXiGWusVmQoq5ggd+NPVnrl/K19F3FF 9paoVea679M+EnaHA5zy0Hkaj4a0/autL1+KQln2zxrFC8lwnsv1QGwYTgi+6xZuWBBB K+yvbq28PsRD6kXte42LCjnyEeL6+ZpTdsEUGiLzMR6MZZlC98ncUrYmwqyXw1ng1hmv fYVhaGvZfXIn0EfoPqKYNHX5GnifFBIzID2Q9LVNzMYZc9TSJuJJNE2BZ0/jC83p2Pdk wtSMvC8K1NS/L0eDJ4fNlaS4IzYVhAvpFyufkdKlaFlT/Y+Q4K7pYaGtvm03V1eUq0zJ VC4Q== X-Gm-Message-State: AOAM530aSWEGt7frXXKBKszXbgEhTtOK9ex4gcPaMhr4NyMed5qp+l8K LNLpHSwMxUpyAVMbMQsuKzsn4RLqGnxJfPiU X-Google-Smtp-Source: ABdhPJwDEPq6H0BA4270QoDvv0jpDFAcuiara2YK3AboRHYejwPokb5XaEc46/ba/q5bAo3JHKt0Pg== X-Received: by 2002:adf:c409:: with SMTP id v9mr9182482wrf.102.1626221750521; Tue, 13 Jul 2021 17:15:50 -0700 (PDT) Received: from vm.nix.is (vm.nix.is. [2a01:4f8:120:2468::2]) by smtp.gmail.com with ESMTPSA id y197sm2876518wmc.7.2021.07.13.17.15.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Jul 2021 17:15:49 -0700 (PDT) From: =?utf-8?b?w4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24=?= To: git@vger.kernel.org Cc: Junio C Hamano , Jeff King , =?utf-8?b?w4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24=?= Subject: [PATCH v3 4/5] *.h: add a few missing __attribute__((format)) Date: Wed, 14 Jul 2021 02:15:43 +0200 Message-Id: X-Mailer: git-send-email 2.32.0-dev In-Reply-To: References: MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Add missing format attributes to API functions that take printf arguments. Signed-off-by: Ævar Arnfjörð Bjarmason --- cache.h | 1 + quote.h | 1 + strbuf.h | 1 + 3 files changed, 3 insertions(+) diff --git a/cache.h b/cache.h index ba04ff8bd3..f9aed2d45c 100644 --- a/cache.h +++ b/cache.h @@ -1385,6 +1385,7 @@ enum get_oid_result { }; int repo_get_oid(struct repository *r, const char *str, struct object_id *oid); +__attribute__((format (printf, 2, 3))) int get_oidf(struct object_id *oid, const char *fmt, ...); int repo_get_oid_commit(struct repository *r, const char *str, struct object_id *oid); int repo_get_oid_committish(struct repository *r, const char *str, struct object_id *oid); diff --git a/quote.h b/quote.h index 768cc6338e..049d8dd0b3 100644 --- a/quote.h +++ b/quote.h @@ -31,6 +31,7 @@ struct strbuf; void sq_quote_buf(struct strbuf *, const char *src); void sq_quote_argv(struct strbuf *, const char **argv); +__attribute__((format (printf, 2, 3))) void sq_quotef(struct strbuf *, const char *fmt, ...); /* diff --git a/strbuf.h b/strbuf.h index 223ee2094a..f1e9821a54 100644 --- a/strbuf.h +++ b/strbuf.h @@ -263,6 +263,7 @@ static inline void strbuf_insertstr(struct strbuf *sb, size_t pos, void strbuf_vinsertf(struct strbuf *sb, size_t pos, const char *fmt, va_list ap); +__attribute__((format (printf, 3, 4))) void strbuf_insertf(struct strbuf *sb, size_t pos, const char *fmt, ...); /** From patchwork Wed Jul 14 00:15:44 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?w4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24=?= X-Patchwork-Id: 12375437 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7E5B2C11F67 for ; Wed, 14 Jul 2021 00:15:55 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 5DB966136D for ; Wed, 14 Jul 2021 00:15:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237180AbhGNASo (ORCPT ); Tue, 13 Jul 2021 20:18:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36700 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237153AbhGNASn (ORCPT ); Tue, 13 Jul 2021 20:18:43 -0400 Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com [IPv6:2a00:1450:4864:20::42d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BE904C0613EF for ; Tue, 13 Jul 2021 17:15:52 -0700 (PDT) Received: by mail-wr1-x42d.google.com with SMTP id t5so858549wrw.12 for ; Tue, 13 Jul 2021 17:15:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=rpuU+hkjgrosuGrPdHtiXP1P3pJ99yiJMY5kQ9aVvUs=; b=pqFE9gCYElv4/68hGYFd51GaYe5Aj+JOmAD2r/0CKGkYo6HYsxRalm2sL3DLO5+tGc shK5Kv41dkfvQHoOnlOjs196SnayCSgCAeWgZD0fngdT7CPJ5WjpH93wGmmrhRBNIA6P elgbCsnn1g0ORFh5j4V5liJ0oxv8RPaKFsTHAQHeSVpDEhXUoruKRaHBHqguFNHPtGg8 UHg+cS8zE2mP8+VuOeeC2eT/uBTelxOYYIKIA1E6w3/euKo1Cz4t4wX78EXSfbd4uYOG 7S9sC9/oLEyIgwDqMFWQhW0v5Fck8NrNQyPwoMD7zW4KS4ouCqHp5+u0qU6ihpwGX978 d6ww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=rpuU+hkjgrosuGrPdHtiXP1P3pJ99yiJMY5kQ9aVvUs=; b=d7T76Fhk9+9krXJ5mAu8St69ONfBRNyfScrUCzjvdN+9L7kvN8ABOdu/b3oUeCaixu IGVSPOee+nxctgu6icaBbDk5gyVohaXIsvXpb30qnug5FbAxNRdNawuyvwZnotFttVzZ gq9ONjK0D9XY3pLT8nItxgjtBXWpf5vu2Me4/0e6mn7gErrR5ayxwH1oebjPLiqciaWz mdF3rY0sQtryVKiXbc+0QuPNv5L14kdKAlGKyNZIasjZ7HaIBZLk1ZBVCgE67vpYRSbO VGd1tgtNchkMk9FjEVA2uy8d0D+KA1H3d76zglG4vgnPUrNQM1HkXK1oTjaZ2RmC1m3W 6b5Q== X-Gm-Message-State: AOAM533h/ttGXR7wqUAWdsxlMdiKDFkcs+BIt+Dltaj25nWKZIftAmKk /PWkdT2+8ErhGUBWuqOfsTIz1QDKlmNkRt1W X-Google-Smtp-Source: ABdhPJzABsaNx9BNObaAhWkrEZgSIrExd1D9abkgBhCX+TzStpn8JlKNi+96KZY8aK+Xz1h24sBwZw== X-Received: by 2002:a05:6000:1048:: with SMTP id c8mr8836721wrx.202.1626221751142; Tue, 13 Jul 2021 17:15:51 -0700 (PDT) Received: from vm.nix.is (vm.nix.is. [2a01:4f8:120:2468::2]) by smtp.gmail.com with ESMTPSA id y197sm2876518wmc.7.2021.07.13.17.15.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Jul 2021 17:15:50 -0700 (PDT) From: =?utf-8?b?w4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24=?= To: git@vger.kernel.org Cc: Junio C Hamano , Jeff King , =?utf-8?b?w4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24=?= Subject: [PATCH v3 5/5] advice.h: add missing __attribute__((format)) & fix usage Date: Wed, 14 Jul 2021 02:15:44 +0200 Message-Id: X-Mailer: git-send-email 2.32.0-dev In-Reply-To: References: MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Add the missing __attribute__((format)) checking to advise_if_enabled(). This revealed a trivial issue introduced in b3b18d16213 (advice: revamp advise API, 2020-03-02). We treated the argv[1] as a format string, but did not intend to do so. Let's use "%s" and pass argv[1] as an argument instead. Signed-off-by: Ævar Arnfjörð Bjarmason --- advice.h | 1 + t/helper/test-advise.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/advice.h b/advice.h index bd26c385d0..9f8ffc7354 100644 --- a/advice.h +++ b/advice.h @@ -90,6 +90,7 @@ int advice_enabled(enum advice_type type); /** * Checks the visibility of the advice before printing. */ +__attribute__((format (printf, 2, 3))) void advise_if_enabled(enum advice_type type, const char *advice, ...); int error_resolve_conflict(const char *me); diff --git a/t/helper/test-advise.c b/t/helper/test-advise.c index a7043df1d3..cb881139f7 100644 --- a/t/helper/test-advise.c +++ b/t/helper/test-advise.c @@ -16,7 +16,7 @@ int cmd__advise_if_enabled(int argc, const char **argv) * selected here and in t0018 where this command is being * executed. */ - advise_if_enabled(ADVICE_NESTED_TAG, argv[1]); + advise_if_enabled(ADVICE_NESTED_TAG, "%s", argv[1]); return 0; }