From patchwork Fri Jun 30 20:23:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Calvin Wan X-Patchwork-Id: 13298698 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 135D2EB64DA for ; Fri, 30 Jun 2023 20:24:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232532AbjF3UYB (ORCPT ); Fri, 30 Jun 2023 16:24:01 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46072 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232478AbjF3UX4 (ORCPT ); Fri, 30 Jun 2023 16:23:56 -0400 Received: from mail-pj1-x104a.google.com (mail-pj1-x104a.google.com [IPv6:2607:f8b0:4864:20::104a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4DEA0421E for ; Fri, 30 Jun 2023 13:23:53 -0700 (PDT) Received: by mail-pj1-x104a.google.com with SMTP id 98e67ed59e1d1-262bf824505so1968588a91.1 for ; Fri, 30 Jun 2023 13:23:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1688156632; x=1690748632; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=ob14upf4D0bnNrCWxY7Ep2D9/LxzmK9pYe8MU7ky6Ts=; b=EAiUvkA2/1p3e8R7Q/PAmf3VX5tcBtF9fq5qtioLlTA7ZsLi7kskFqyXtaWCodPe5I IcR4bHoTtkT0oze8fGMnTU2kir1teBI93KanCkB1fKj+w+cx5ONogWrmg8G5JZiojL1f LxVptUANwpEPYVDuK7sI4mKobf1Yl+djXFFG4PrSxYUb4TiSydTUG5XLX6PgQJo7Re6s rusgPP84z+zzoLdpIvTQ8S5aiJPwSUBMyTaYZqIBXzC1fLWmiEtJmJFb9RmkcC/Suj6E GkLV5+PtFMzfw0Vc0KITJW6jEvLYObUVSrdnj11BRsoMf7jsADUOQSZSFSOXAawkkSfB Fe+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688156632; x=1690748632; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=ob14upf4D0bnNrCWxY7Ep2D9/LxzmK9pYe8MU7ky6Ts=; b=NsMOb6TF5T4ROxUwRMCGbkGSHRwkkfkoaasf4WzEv/fxcgpc0X2/mqHEgq9if+0mj/ R9bMPcwslHSZx6AxHWtjfSfjzffKkBxQpuQ4b+/F5nFX9I9n8aPZVfh4UAgwyA/SKV+a XPOirnKQ1GgMMMVsr4VIHWqn70cqRa6w41vjRzgCl0J4uIo3t8SDU+Yt2ZnbxrKZufHa xHCTLsfFJix8Ejs7jmdg0Jlob+ibji3pN0fqXylN2E6pQf9TJX4fJ+ZO7uwvNm/2Vo8N ofOzBMNdeyUm/xF9SEtt5hvaCIpHN6EMR0dr1QUPHa8N+SMk0n6ABpKNgJK6LEJMcd1L q/Ig== X-Gm-Message-State: ABy/qLYNbVoLMH/wgqB2ZUlrAE0xFnXt0Lr4V7oKPZEkwiKxoFo7r4Yv NAIZ6mSRIygf3xzDd1v3S0a6+0TPj3PVNghopRsEj21oz2Tm13vuKmS3JBOC2NsFBBc1V99ecVZ DT08iKg9IBhrhNACFX1pdekHRJ9020D1QQvomFJJCDGkU5U+Kz7VYmq2r/OMr6kf1sA== X-Google-Smtp-Source: APBJJlFNReK/SD/U9cBpTgxpkiMECdsTjQo0UfCyZ5MLp9S62S6KYjR9iTPFekKzwPjYb9kFrIYFJA0XDbXJY4k= X-Received: from barleywine.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:3bd4]) (user=calvinwan job=sendgmr) by 2002:a17:90a:f011:b0:262:d6ac:126 with SMTP id bt17-20020a17090af01100b00262d6ac0126mr2154348pjb.0.1688156632281; Fri, 30 Jun 2023 13:23:52 -0700 (PDT) Date: Fri, 30 Jun 2023 20:23:41 +0000 In-Reply-To: <20230630202237.3069327-1-calvinwan@google.com> Mime-Version: 1.0 References: <20230630202237.3069327-1-calvinwan@google.com> X-Mailer: git-send-email 2.41.0.255.g8b1d071c50-goog Message-ID: <20230630202346.3069950-1-calvinwan@google.com> Subject: [PATCH v4 1/6] git-compat-util: move strbuf.c funcs to its header From: Calvin Wan To: git@vger.kernel.org Cc: Calvin Wan , phillip.wood123@gmail.com, jonathantanmy@google.com Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org While functions like starts_with() probably should not belong in the boundaries of the strbuf library, this commit focuses on first splitting out headers from git-compat-util.h. Signed-off-by: Calvin Wan --- builtin/symbolic-ref.c | 1 + builtin/unpack-objects.c | 1 + git-compat-util.h | 32 -------------------------------- strbuf.h | 32 ++++++++++++++++++++++++++++++++ versioncmp.c | 1 + 5 files changed, 35 insertions(+), 32 deletions(-) diff --git a/builtin/symbolic-ref.c b/builtin/symbolic-ref.c index a61fa3c0f8..c9defe4d2e 100644 --- a/builtin/symbolic-ref.c +++ b/builtin/symbolic-ref.c @@ -3,6 +3,7 @@ #include "gettext.h" #include "refs.h" #include "parse-options.h" +#include "strbuf.h" static const char * const git_symbolic_ref_usage[] = { N_("git symbolic-ref [-m ] "), diff --git a/builtin/unpack-objects.c b/builtin/unpack-objects.c index 1979532a9d..84b68304ed 100644 --- a/builtin/unpack-objects.c +++ b/builtin/unpack-objects.c @@ -12,6 +12,7 @@ #include "blob.h" #include "commit.h" #include "replace-object.h" +#include "strbuf.h" #include "tag.h" #include "tree.h" #include "tree-walk.h" diff --git a/git-compat-util.h b/git-compat-util.h index ae88291976..78a993c604 100644 --- a/git-compat-util.h +++ b/git-compat-util.h @@ -679,9 +679,6 @@ void set_warn_routine(report_fn routine); report_fn get_warn_routine(void); void set_die_is_recursing_routine(int (*routine)(void)); -int starts_with(const char *str, const char *prefix); -int istarts_with(const char *str, const char *prefix); - /* * If the string "str" begins with the string found in "prefix", return 1. * The "out" parameter is set to "str + strlen(prefix)" (i.e., to the point in @@ -710,29 +707,6 @@ static inline int skip_prefix(const char *str, const char *prefix, return 0; } -/* - * If the string "str" is the same as the string in "prefix", then the "arg" - * parameter is set to the "def" parameter and 1 is returned. - * If the string "str" begins with the string found in "prefix" and then a - * "=" sign, then the "arg" parameter is set to "str + strlen(prefix) + 1" - * (i.e., to the point in the string right after the prefix and the "=" sign), - * and 1 is returned. - * - * Otherwise, return 0 and leave "arg" untouched. - * - * When we accept both a "--key" and a "--key=" option, this function - * can be used instead of !strcmp(arg, "--key") and then - * skip_prefix(arg, "--key=", &arg) to parse such an option. - */ -int skip_to_optional_arg_default(const char *str, const char *prefix, - const char **arg, const char *def); - -static inline int skip_to_optional_arg(const char *str, const char *prefix, - const char **arg) -{ - return skip_to_optional_arg_default(str, prefix, arg, ""); -} - /* * Like skip_prefix, but promises never to read past "len" bytes of the input * buffer, and returns the remaining number of bytes in "out" via "outlen". @@ -777,12 +751,6 @@ static inline int strip_suffix(const char *str, const char *suffix, size_t *len) return strip_suffix_mem(str, len, suffix); } -static inline int ends_with(const char *str, const char *suffix) -{ - size_t len; - return strip_suffix(str, suffix, &len); -} - #define SWAP(a, b) do { \ void *_swap_a_ptr = &(a); \ void *_swap_b_ptr = &(b); \ diff --git a/strbuf.h b/strbuf.h index 0528ab5010..fd43c46433 100644 --- a/strbuf.h +++ b/strbuf.h @@ -671,4 +671,36 @@ char *xstrvfmt(const char *fmt, va_list ap); __attribute__((format (printf, 1, 2))) char *xstrfmt(const char *fmt, ...); +int starts_with(const char *str, const char *prefix); +int istarts_with(const char *str, const char *prefix); + +/* + * If the string "str" is the same as the string in "prefix", then the "arg" + * parameter is set to the "def" parameter and 1 is returned. + * If the string "str" begins with the string found in "prefix" and then a + * "=" sign, then the "arg" parameter is set to "str + strlen(prefix) + 1" + * (i.e., to the point in the string right after the prefix and the "=" sign), + * and 1 is returned. + * + * Otherwise, return 0 and leave "arg" untouched. + * + * When we accept both a "--key" and a "--key=" option, this function + * can be used instead of !strcmp(arg, "--key") and then + * skip_prefix(arg, "--key=", &arg) to parse such an option. + */ +int skip_to_optional_arg_default(const char *str, const char *prefix, + const char **arg, const char *def); + +static inline int skip_to_optional_arg(const char *str, const char *prefix, + const char **arg) +{ + return skip_to_optional_arg_default(str, prefix, arg, ""); +} + +static inline int ends_with(const char *str, const char *suffix) +{ + size_t len; + return strip_suffix(str, suffix, &len); +} + #endif /* STRBUF_H */ diff --git a/versioncmp.c b/versioncmp.c index 74cc7c43f0..45e676cbca 100644 --- a/versioncmp.c +++ b/versioncmp.c @@ -1,5 +1,6 @@ #include "git-compat-util.h" #include "config.h" +#include "strbuf.h" #include "string-list.h" #include "versioncmp.h" From patchwork Fri Jun 30 20:23:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Calvin Wan X-Patchwork-Id: 13298699 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 22323EB64DA for ; Fri, 30 Jun 2023 20:24:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232498AbjF3UYG (ORCPT ); Fri, 30 Jun 2023 16:24:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46346 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232511AbjF3UYA (ORCPT ); Fri, 30 Jun 2023 16:24:00 -0400 Received: from mail-yw1-x114a.google.com (mail-yw1-x114a.google.com [IPv6:2607:f8b0:4864:20::114a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 23F7E4487 for ; Fri, 30 Jun 2023 13:23:54 -0700 (PDT) Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-573d70da2dcso22229047b3.1 for ; Fri, 30 Jun 2023 13:23:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1688156634; x=1690748634; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=TPW0S1pVZ7gd/csz0VOSB2FkfCYxgxeMOYElZW3D0FI=; b=wWR2mdEheh/qV2pOMPa68F/bHIbTzNAbeNpmXSeSU+pTxHWmm/3S2LXL/uDKQ8XtD2 0m95KpbHhaa6eH7i6gqbz+B0tKw+8z6QYpHUC24R7BpBBYWwuwBxpu/0akkk0Pzyeh4/ i6tYTAxRacbyhKU1bSBBiftGqz+7D3HFIRbrDnObDWQsB3R3pWUwz5HyJmh9E9un37+c UbTMbKW57bFHe9qOA9sok3HgOraYRZUNG7snp0Qll+oGdzkJwnkmLQVdQFhyPwyAHPkx 4854dQ3SYZogl9S6g7hoJbhdDhASvEwFRAYPOV89zqkLH7awGvHdoKTFtB6F9WETZNUH S/aA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688156634; x=1690748634; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=TPW0S1pVZ7gd/csz0VOSB2FkfCYxgxeMOYElZW3D0FI=; b=MVLDa01zDMg74PPXU9mn47PM9ALVCYdoN0fghKANM+phBFM8dPMgevQ7UJiA+UKmP5 nGHTKqgH8uZWfQVcKKfWo9TsxNpupi1vq0xKw5WjX4i8KuXGnvoPUv6xpKM8DI1s5L1i wyjyQ0EKSyIG1tn49W5yhFU2Fy46gC+IIKow01yijtJDBr7zWKgEF0PFewEby9ZVlo5a 17koSXJqVrRVFunamSDwKbkz4zaS4HgEWqDGSU6aa5dOEbFoerJ8pRBZXFKlCYgqAzYX Q1RP3R/y7ONLseKcrfO/a0HZuzw94UUkCfFfaGuBmdHNEMpnXuXgTA70nGz6+dnddKjo /cVw== X-Gm-Message-State: ABy/qLYmpVX+uyROraZMzI+u6m1+OLrYAqaaOCFOqKCtVZcms+nCCH1a +mTbzuImZcLIS9I+uW3+/5GOC23oq70HuAQ5CuZ8aNXzzt8HDnDjKE+iKK9CyC5bj5n+H/njV8D ZAqnxHCAkkgwfKqI0gtC85Q8+R/Pw+hdc5lt5y81EGy5gLBs9kk0I6mL7oBCZohO58w== X-Google-Smtp-Source: APBJJlGFa3t42CzgLEriFWq431PR927Zciilgedmj7DYOV/lbcUuqGpwjCJGjD1taJF9DgOg2fmQjNUTE/s7i68= X-Received: from barleywine.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:3bd4]) (user=calvinwan job=sendgmr) by 2002:a0d:dd85:0:b0:570:75a8:7867 with SMTP id g127-20020a0ddd85000000b0057075a87867mr28260ywe.4.1688156634046; Fri, 30 Jun 2023 13:23:54 -0700 (PDT) Date: Fri, 30 Jun 2023 20:23:42 +0000 In-Reply-To: <20230630202237.3069327-1-calvinwan@google.com> Mime-Version: 1.0 References: <20230630202237.3069327-1-calvinwan@google.com> X-Mailer: git-send-email 2.41.0.255.g8b1d071c50-goog Message-ID: <20230630202346.3069950-2-calvinwan@google.com> Subject: [PATCH v4 2/6] git-compat-util: move wrapper.c funcs to its header From: Calvin Wan To: git@vger.kernel.org Cc: Calvin Wan , phillip.wood123@gmail.com, jonathantanmy@google.com Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Since the functions in wrapper.c are widely used across the codebase, include it by default in git-compat-util.h. A future patch will remove now unnecessary inclusions of wrapper.h from other files. Signed-off-by: Calvin Wan --- git-compat-util.h | 112 +--------------------------------------------- wrapper.h | 111 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 112 insertions(+), 111 deletions(-) diff --git a/git-compat-util.h b/git-compat-util.h index 78a993c604..9140f43bbf 100644 --- a/git-compat-util.h +++ b/git-compat-util.h @@ -627,7 +627,7 @@ static inline int git_has_dir_sep(const char *path) #include "compat/bswap.h" -struct strbuf; +#include "wrapper.h" /* General helper functions */ NORETURN void usage(const char *err); @@ -1047,36 +1047,6 @@ static inline int cast_size_t_to_int(size_t a) # define xalloca(size) (xmalloc(size)) # define xalloca_free(p) (free(p)) #endif -char *xstrdup(const char *str); -void *xmalloc(size_t size); -void *xmallocz(size_t size); -void *xmallocz_gently(size_t size); -void *xmemdupz(const void *data, size_t len); -char *xstrndup(const char *str, size_t len); -void *xrealloc(void *ptr, size_t size); -void *xcalloc(size_t nmemb, size_t size); -void xsetenv(const char *name, const char *value, int overwrite); -void *xmmap(void *start, size_t length, int prot, int flags, int fd, off_t offset); -const char *mmap_os_err(void); -void *xmmap_gently(void *start, size_t length, int prot, int flags, int fd, off_t offset); -int xopen(const char *path, int flags, ...); -ssize_t xread(int fd, void *buf, size_t len); -ssize_t xwrite(int fd, const void *buf, size_t len); -ssize_t xpread(int fd, void *buf, size_t len, off_t offset); -int xdup(int fd); -FILE *xfopen(const char *path, const char *mode); -FILE *xfdopen(int fd, const char *mode); -int xmkstemp(char *temp_filename); -int xmkstemp_mode(char *temp_filename, int mode); -char *xgetcwd(void); -FILE *fopen_for_writing(const char *path); -FILE *fopen_or_warn(const char *path, const char *mode); - -/* - * Like strncmp, but only return zero if s is NUL-terminated and exactly len - * characters long. If it is not, consider it greater than t. - */ -int xstrncmpz(const char *s, const char *t, size_t len); /* * FREE_AND_NULL(ptr) is like free(ptr) followed by ptr = NULL. Note @@ -1178,15 +1148,10 @@ static inline size_t xsize_t(off_t len) return (size_t) len; } -__attribute__((format (printf, 3, 4))) -int xsnprintf(char *dst, size_t max, const char *fmt, ...); - #ifndef HOST_NAME_MAX #define HOST_NAME_MAX 256 #endif -int xgethostname(char *buf, size_t len); - /* in ctype.c, for kwset users */ extern const unsigned char tolower_trans_tbl[256]; @@ -1427,72 +1392,6 @@ void bug_fl(const char *file, int line, const char *fmt, ...); #endif #endif -enum fsync_action { - FSYNC_WRITEOUT_ONLY, - FSYNC_HARDWARE_FLUSH -}; - -/* - * Issues an fsync against the specified file according to the specified mode. - * - * FSYNC_WRITEOUT_ONLY attempts to use interfaces available on some operating - * systems to flush the OS cache without issuing a flush command to the storage - * controller. If those interfaces are unavailable, the function fails with - * ENOSYS. - * - * FSYNC_HARDWARE_FLUSH does an OS writeout and hardware flush to ensure that - * changes are durable. It is not expected to fail. - */ -int git_fsync(int fd, enum fsync_action action); - -/* - * Writes out trace statistics for fsync using the trace2 API. - */ -void trace_git_fsync_stats(void); - -/* - * Preserves errno, prints a message, but gives no warning for ENOENT. - * Returns 0 on success, which includes trying to unlink an object that does - * not exist. - */ -int unlink_or_warn(const char *path); - /* - * Tries to unlink file. Returns 0 if unlink succeeded - * or the file already didn't exist. Returns -1 and - * appends a message to err suitable for - * 'error("%s", err->buf)' on error. - */ -int unlink_or_msg(const char *file, struct strbuf *err); -/* - * Preserves errno, prints a message, but gives no warning for ENOENT. - * Returns 0 on success, which includes trying to remove a directory that does - * not exist. - */ -int rmdir_or_warn(const char *path); -/* - * Calls the correct function out of {unlink,rmdir}_or_warn based on - * the supplied file mode. - */ -int remove_or_warn(unsigned int mode, const char *path); - -/* - * Call access(2), but warn for any error except "missing file" - * (ENOENT or ENOTDIR). - */ -#define ACCESS_EACCES_OK (1U << 0) -int access_or_warn(const char *path, int mode, unsigned flag); -int access_or_die(const char *path, int mode, unsigned flag); - -/* Warn on an inaccessible file if errno indicates this is an error */ -int warn_on_fopen_errors(const char *path); - -/* - * Open with O_NOFOLLOW, or equivalent. Note that the fallback equivalent - * may be racy. Do not use this as protection against an attacker who can - * simultaneously create paths. - */ -int open_nofollow(const char *path, int flags); - #ifndef SHELL_PATH # define SHELL_PATH "/bin/sh" #endif @@ -1632,13 +1531,4 @@ static inline void *container_of_or_null_offset(void *ptr, size_t offset) ((uintptr_t)&(ptr)->member - (uintptr_t)(ptr)) #endif /* !__GNUC__ */ -void sleep_millisec(int millisec); - -/* - * Generate len bytes from the system cryptographically secure PRNG. - * Returns 0 on success and -1 on error, setting errno. The inability to - * satisfy the full request is an error. - */ -int csprng_bytes(void *buf, size_t len); - #endif diff --git a/wrapper.h b/wrapper.h index f0c7d0616d..c85b1328d1 100644 --- a/wrapper.h +++ b/wrapper.h @@ -1,6 +1,42 @@ #ifndef WRAPPER_H #define WRAPPER_H +char *xstrdup(const char *str); +void *xmalloc(size_t size); +void *xmallocz(size_t size); +void *xmallocz_gently(size_t size); +void *xmemdupz(const void *data, size_t len); +char *xstrndup(const char *str, size_t len); +void *xrealloc(void *ptr, size_t size); +void *xcalloc(size_t nmemb, size_t size); +void xsetenv(const char *name, const char *value, int overwrite); +void *xmmap(void *start, size_t length, int prot, int flags, int fd, off_t offset); +const char *mmap_os_err(void); +void *xmmap_gently(void *start, size_t length, int prot, int flags, int fd, off_t offset); +int xopen(const char *path, int flags, ...); +ssize_t xread(int fd, void *buf, size_t len); +ssize_t xwrite(int fd, const void *buf, size_t len); +ssize_t xpread(int fd, void *buf, size_t len, off_t offset); +int xdup(int fd); +FILE *xfopen(const char *path, const char *mode); +FILE *xfdopen(int fd, const char *mode); +int xmkstemp(char *temp_filename); +int xmkstemp_mode(char *temp_filename, int mode); +char *xgetcwd(void); +FILE *fopen_for_writing(const char *path); +FILE *fopen_or_warn(const char *path, const char *mode); + +/* + * Like strncmp, but only return zero if s is NUL-terminated and exactly len + * characters long. If it is not, consider it greater than t. + */ +int xstrncmpz(const char *s, const char *t, size_t len); + +__attribute__((format (printf, 3, 4))) +int xsnprintf(char *dst, size_t max, const char *fmt, ...); + +int xgethostname(char *buf, size_t len); + /* set default permissions by passing mode arguments to open(2) */ int git_mkstemps_mode(char *pattern, int suffix_len, int mode); int git_mkstemp_mode(char *pattern, int mode); @@ -33,4 +69,79 @@ void write_file(const char *path, const char *fmt, ...); /* Return 1 if the file is empty or does not exists, 0 otherwise. */ int is_empty_or_missing_file(const char *filename); +enum fsync_action { + FSYNC_WRITEOUT_ONLY, + FSYNC_HARDWARE_FLUSH +}; + +/* + * Issues an fsync against the specified file according to the specified mode. + * + * FSYNC_WRITEOUT_ONLY attempts to use interfaces available on some operating + * systems to flush the OS cache without issuing a flush command to the storage + * controller. If those interfaces are unavailable, the function fails with + * ENOSYS. + * + * FSYNC_HARDWARE_FLUSH does an OS writeout and hardware flush to ensure that + * changes are durable. It is not expected to fail. + */ +int git_fsync(int fd, enum fsync_action action); + +/* + * Writes out trace statistics for fsync using the trace2 API. + */ +void trace_git_fsync_stats(void); + +/* + * Preserves errno, prints a message, but gives no warning for ENOENT. + * Returns 0 on success, which includes trying to unlink an object that does + * not exist. + */ +int unlink_or_warn(const char *path); + /* + * Tries to unlink file. Returns 0 if unlink succeeded + * or the file already didn't exist. Returns -1 and + * appends a message to err suitable for + * 'error("%s", err->buf)' on error. + */ +int unlink_or_msg(const char *file, struct strbuf *err); +/* + * Preserves errno, prints a message, but gives no warning for ENOENT. + * Returns 0 on success, which includes trying to remove a directory that does + * not exist. + */ +int rmdir_or_warn(const char *path); +/* + * Calls the correct function out of {unlink,rmdir}_or_warn based on + * the supplied file mode. + */ +int remove_or_warn(unsigned int mode, const char *path); + +/* + * Call access(2), but warn for any error except "missing file" + * (ENOENT or ENOTDIR). + */ +#define ACCESS_EACCES_OK (1U << 0) +int access_or_warn(const char *path, int mode, unsigned flag); +int access_or_die(const char *path, int mode, unsigned flag); + +/* Warn on an inaccessible file if errno indicates this is an error */ +int warn_on_fopen_errors(const char *path); + +/* + * Open with O_NOFOLLOW, or equivalent. Note that the fallback equivalent + * may be racy. Do not use this as protection against an attacker who can + * simultaneously create paths. + */ +int open_nofollow(const char *path, int flags); + +void sleep_millisec(int millisec); + +/* + * Generate len bytes from the system cryptographically secure PRNG. + * Returns 0 on success and -1 on error, setting errno. The inability to + * satisfy the full request is an error. + */ +int csprng_bytes(void *buf, size_t len); + #endif /* WRAPPER_H */ From patchwork Fri Jun 30 20:23:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Calvin Wan X-Patchwork-Id: 13298700 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 26DB9EB64DA for ; Fri, 30 Jun 2023 20:24:20 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232598AbjF3UYS (ORCPT ); Fri, 30 Jun 2023 16:24:18 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46324 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232449AbjF3UYE (ORCPT ); Fri, 30 Jun 2023 16:24:04 -0400 Received: from mail-pf1-x449.google.com (mail-pf1-x449.google.com [IPv6:2607:f8b0:4864:20::449]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 92F204494 for ; Fri, 30 Jun 2023 13:23:56 -0700 (PDT) Received: by mail-pf1-x449.google.com with SMTP id d2e1a72fcca58-668719b8945so1808570b3a.1 for ; Fri, 30 Jun 2023 13:23:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1688156636; x=1690748636; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=GG/ynIDIqdr5TiH5TSrgB3HMRA6tV2Zf6m3YMF8JHQM=; b=sLdHY9B0sV5uWJYlqfTSPlKTdI6CjJSHtVrKrkwdMRypznenIm3EXjSUBfi718YrbN kgFwTS27VzQNe8+VZ7vVGX9tqMf6jK0pDNJoGdLl+Sc9/lTj1ZM3a9a/cUmwJRgoxJWq hjdJloORbXnw4xukbMzeBcZk/N0pDfuYP36fa2aKKIcsb2MPEbZhCG1YA4z8a4oVDuJI +qsLmO8D6mofX71i9ImD1qagBY55ZmLYr7uYj06LAGdYUjg2HHlxwsZPCOzEPm+BK3ou f+PBrhYkyehyNgerjDaxUTV41DABiTyjwCSqGiKKNEmmb8igZdMGgDJIEqIC3EXRb87W o8tA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688156636; x=1690748636; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=GG/ynIDIqdr5TiH5TSrgB3HMRA6tV2Zf6m3YMF8JHQM=; b=P7bluRu7b7mH5nhTjHnaNz/SmuPXolou1+X6hxdB+fb94wq59aMt8HPNNnhWfUhFLp CieUYTJ3ZGVCEFax+MDrs6q3aIG4Ku79xFIHGMrP3JFJY7Nsb5wLIsGXEraRpMYYIi9P vVOeVNwB7yShvO/PcnqCsu74XRZdZVcxna/37xkhVi0ZGOvqE/WuFZQVFWl5mglzeAjn UmI2gBNCmRBi9HgnNc9qXn1YWkf8b089sFIHWoLCzYhB1nWYymn+CRvK0MGit9D1c+hm 8hfgI56H7f31LwNq1YJm1K85wB4HAuwMlGej8cSnUkIgMj1vKbBnvRRE/mDuHa4SDPdm eulw== X-Gm-Message-State: ABy/qLbjwkMXvUaJUiAUIao7IL9woKjbdzWh/3xCMRiLQXUtFjTFiwLM FaGwhTjHAkZ2LnDijlSTgXalHEeLOaRGPv73SB3FzeZ4L2wv7pviiW6qiEp/kJD5Pe4cd5ybCEm lPUeBv+aQm5qnQOkC0RXtbafTWyIHI1noks4Fx8o6ljCQPilk4lt2PKhpIZELNwYRPA== X-Google-Smtp-Source: APBJJlFM653LvS0yH84RhJkj9xyWM7DUqDKLhuYNrThnZRrJDyq7u+GsCAYZvLRcAi9ealYXOoGpB0oZgzNoBvM= X-Received: from barleywine.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:3bd4]) (user=calvinwan job=sendgmr) by 2002:a05:6a00:b92:b0:66b:f900:c9cc with SMTP id g18-20020a056a000b9200b0066bf900c9ccmr4235638pfj.5.1688156635843; Fri, 30 Jun 2023 13:23:55 -0700 (PDT) Date: Fri, 30 Jun 2023 20:23:43 +0000 In-Reply-To: <20230630202237.3069327-1-calvinwan@google.com> Mime-Version: 1.0 References: <20230630202237.3069327-1-calvinwan@google.com> X-Mailer: git-send-email 2.41.0.255.g8b1d071c50-goog Message-ID: <20230630202346.3069950-3-calvinwan@google.com> Subject: [PATCH v4 3/6] sane-ctype.h: create header for sane-ctype macros From: Calvin Wan To: git@vger.kernel.org Cc: Calvin Wan , phillip.wood123@gmail.com, jonathantanmy@google.com Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Splitting these macros from git-compat-util.h cleans up the file and allows future third-party sources to not use these overrides if they do not wish to. Signed-off-by: Calvin Wan --- git-compat-util.h | 62 +------------------------------------------- sane-ctype.h | 66 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+), 61 deletions(-) create mode 100644 sane-ctype.h diff --git a/git-compat-util.h b/git-compat-util.h index 9140f43bbf..5f916e1094 100644 --- a/git-compat-util.h +++ b/git-compat-util.h @@ -1155,67 +1155,7 @@ static inline size_t xsize_t(off_t len) /* in ctype.c, for kwset users */ extern const unsigned char tolower_trans_tbl[256]; -/* Sane ctype - no locale, and works with signed chars */ -#undef isascii -#undef isspace -#undef isdigit -#undef isalpha -#undef isalnum -#undef isprint -#undef islower -#undef isupper -#undef tolower -#undef toupper -#undef iscntrl -#undef ispunct -#undef isxdigit - -extern const unsigned char sane_ctype[256]; -extern const signed char hexval_table[256]; -#define GIT_SPACE 0x01 -#define GIT_DIGIT 0x02 -#define GIT_ALPHA 0x04 -#define GIT_GLOB_SPECIAL 0x08 -#define GIT_REGEX_SPECIAL 0x10 -#define GIT_PATHSPEC_MAGIC 0x20 -#define GIT_CNTRL 0x40 -#define GIT_PUNCT 0x80 -#define sane_istest(x,mask) ((sane_ctype[(unsigned char)(x)] & (mask)) != 0) -#define isascii(x) (((x) & ~0x7f) == 0) -#define isspace(x) sane_istest(x,GIT_SPACE) -#define isdigit(x) sane_istest(x,GIT_DIGIT) -#define isalpha(x) sane_istest(x,GIT_ALPHA) -#define isalnum(x) sane_istest(x,GIT_ALPHA | GIT_DIGIT) -#define isprint(x) ((x) >= 0x20 && (x) <= 0x7e) -#define islower(x) sane_iscase(x, 1) -#define isupper(x) sane_iscase(x, 0) -#define is_glob_special(x) sane_istest(x,GIT_GLOB_SPECIAL) -#define is_regex_special(x) sane_istest(x,GIT_GLOB_SPECIAL | GIT_REGEX_SPECIAL) -#define iscntrl(x) (sane_istest(x,GIT_CNTRL)) -#define ispunct(x) sane_istest(x, GIT_PUNCT | GIT_REGEX_SPECIAL | \ - GIT_GLOB_SPECIAL | GIT_PATHSPEC_MAGIC) -#define isxdigit(x) (hexval_table[(unsigned char)(x)] != -1) -#define tolower(x) sane_case((unsigned char)(x), 0x20) -#define toupper(x) sane_case((unsigned char)(x), 0) -#define is_pathspec_magic(x) sane_istest(x,GIT_PATHSPEC_MAGIC) - -static inline int sane_case(int x, int high) -{ - if (sane_istest(x, GIT_ALPHA)) - x = (x & ~0x20) | high; - return x; -} - -static inline int sane_iscase(int x, int is_lower) -{ - if (!sane_istest(x, GIT_ALPHA)) - return 0; - - if (is_lower) - return (x & 0x20) != 0; - else - return (x & 0x20) == 0; -} +#include "sane-ctype.h" /* * Like skip_prefix, but compare case-insensitively. Note that the comparison diff --git a/sane-ctype.h b/sane-ctype.h new file mode 100644 index 0000000000..cbea1b299b --- /dev/null +++ b/sane-ctype.h @@ -0,0 +1,66 @@ +#ifndef SANE_CTYPE_H +#define SANE_CTYPE_H + +/* Sane ctype - no locale, and works with signed chars */ +#undef isascii +#undef isspace +#undef isdigit +#undef isalpha +#undef isalnum +#undef isprint +#undef islower +#undef isupper +#undef tolower +#undef toupper +#undef iscntrl +#undef ispunct +#undef isxdigit + +extern const unsigned char sane_ctype[256]; +extern const signed char hexval_table[256]; +#define GIT_SPACE 0x01 +#define GIT_DIGIT 0x02 +#define GIT_ALPHA 0x04 +#define GIT_GLOB_SPECIAL 0x08 +#define GIT_REGEX_SPECIAL 0x10 +#define GIT_PATHSPEC_MAGIC 0x20 +#define GIT_CNTRL 0x40 +#define GIT_PUNCT 0x80 +#define sane_istest(x,mask) ((sane_ctype[(unsigned char)(x)] & (mask)) != 0) +#define isascii(x) (((x) & ~0x7f) == 0) +#define isspace(x) sane_istest(x,GIT_SPACE) +#define isdigit(x) sane_istest(x,GIT_DIGIT) +#define isalpha(x) sane_istest(x,GIT_ALPHA) +#define isalnum(x) sane_istest(x,GIT_ALPHA | GIT_DIGIT) +#define isprint(x) ((x) >= 0x20 && (x) <= 0x7e) +#define islower(x) sane_iscase(x, 1) +#define isupper(x) sane_iscase(x, 0) +#define is_glob_special(x) sane_istest(x,GIT_GLOB_SPECIAL) +#define is_regex_special(x) sane_istest(x,GIT_GLOB_SPECIAL | GIT_REGEX_SPECIAL) +#define iscntrl(x) (sane_istest(x,GIT_CNTRL)) +#define ispunct(x) sane_istest(x, GIT_PUNCT | GIT_REGEX_SPECIAL | \ + GIT_GLOB_SPECIAL | GIT_PATHSPEC_MAGIC) +#define isxdigit(x) (hexval_table[(unsigned char)(x)] != -1) +#define tolower(x) sane_case((unsigned char)(x), 0x20) +#define toupper(x) sane_case((unsigned char)(x), 0) +#define is_pathspec_magic(x) sane_istest(x,GIT_PATHSPEC_MAGIC) + +static inline int sane_case(int x, int high) +{ + if (sane_istest(x, GIT_ALPHA)) + x = (x & ~0x20) | high; + return x; +} + +static inline int sane_iscase(int x, int is_lower) +{ + if (!sane_istest(x, GIT_ALPHA)) + return 0; + + if (is_lower) + return (x & 0x20) != 0; + else + return (x & 0x20) == 0; +} + +#endif From patchwork Fri Jun 30 20:23:44 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Calvin Wan X-Patchwork-Id: 13298701 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9C578EB64DC for ; Fri, 30 Jun 2023 20:24:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232608AbjF3UYZ (ORCPT ); Fri, 30 Jun 2023 16:24:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46644 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232235AbjF3UYP (ORCPT ); Fri, 30 Jun 2023 16:24:15 -0400 Received: from mail-pg1-x549.google.com (mail-pg1-x549.google.com [IPv6:2607:f8b0:4864:20::549]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A19CB44A0 for ; Fri, 30 Jun 2023 13:23:58 -0700 (PDT) Received: by mail-pg1-x549.google.com with SMTP id 41be03b00d2f7-528ab71c95cso1723961a12.0 for ; Fri, 30 Jun 2023 13:23:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1688156638; x=1690748638; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=KjvjrM2solQaB/yRMs3mzirHvRh2EwQtgVo7BMlQxIU=; b=vCPq4ic95n/1fEwu0JyNePTiirt7kZ7ccJ5RocwfhZEATBZgR7A9sOww03sNG3cYsk D62JoR2X1GGf/FgXBNEyri6Iz8MjLxWK3WqYTHJirneVCs4ROT1i7noWkUq/vd+wyTN3 jkG+BxuO714tuB/FAiafvYbzrH+D7ab61Uu2pDx6JlApCuC1pnUAwm98tk8ORkqcO+vb fNSKYAkEheP+k4hajN35R9UO+nANsL2cwL8jfy2f/CKH7w4TiWz/z0OZoiejl957RZIP XHnGt+sGTE0q7u1PMnhZjUI1QLfvug3SbOcAWVhac8NewISoqa0SvsuarLbN3Cm7P/U9 Y0wQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688156638; x=1690748638; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=KjvjrM2solQaB/yRMs3mzirHvRh2EwQtgVo7BMlQxIU=; b=IzSO38TnSS8Xg03tpgnfjYvbpp+4pX1Z1PpgflME0X0/5o5pU6rZZYkdXljD2MR53K pB5etopVLMzaqTBXmaNhu5cspiTCurhsMDcB7UuASHx9u9dFpSThlIt4kDy5PsvdQj9Z 7GQBu7aShc3fOrTLHojddr3TwR+4D9K002cHMxyW5ywzBciT1w7YzsrYfYqc/cTqekxl fGxZdp/2+vHkkQpQYk1E27iwslMIfV1PF5q1c/6mO63qpGphqp04vSDeq1eNdhB4o/i7 7FhTmfoj7p8dhwy6c78aLc4tZOPRBZuR8xTHzDFYPt8y+PkRiryiWKXA7y9NOnZ+mPmO 8Ohg== X-Gm-Message-State: ABy/qLYUp7N90UlIGSCmoT13GK8Tz8H8cBpBmvswLo5iJwL1T5tJF31e W2QxjOZH7EMehjYQTzegAzEjRczB+szhQB3AMtJTyroZ6IgwIbFnS9yuJGGB4r2xLIKNGQa65+a ZEbGK5bVnkBhYBCdwpVHr7ijkwFOQdtOe2jWfRAAdL0lr4kuoRzROeS/7+PEXYYzMbg== X-Google-Smtp-Source: APBJJlFOeknGhzCCJseGc5dScCuFsKaYAnTirup9suLRIC7vCDWsXR7RIirqgZ0zoUTh0Cb+DXgNufu71tdN0G0= X-Received: from barleywine.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:3bd4]) (user=calvinwan job=sendgmr) by 2002:a63:1251:0:b0:550:d2d6:525b with SMTP id 17-20020a631251000000b00550d2d6525bmr1031242pgs.12.1688156637243; Fri, 30 Jun 2023 13:23:57 -0700 (PDT) Date: Fri, 30 Jun 2023 20:23:44 +0000 In-Reply-To: <20230630202237.3069327-1-calvinwan@google.com> Mime-Version: 1.0 References: <20230630202237.3069327-1-calvinwan@google.com> X-Mailer: git-send-email 2.41.0.255.g8b1d071c50-goog Message-ID: <20230630202346.3069950-4-calvinwan@google.com> Subject: [PATCH v4 4/6] kwset: move translation table from ctype From: Calvin Wan To: git@vger.kernel.org Cc: Calvin Wan , phillip.wood123@gmail.com, jonathantanmy@google.com Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org This table was originally introduced to solely be used with kwset machinery (0f871cf56e), so it would make sense for it to belong in kwset.[ch] rather than ctype.c and git-compat-util.h. It is only used in diffcore-pickaxe.c, which already includes kwset.h so no other headers have to be modified. Signed-off-by: Calvin Wan --- ctype.c | 36 ------------------------------------ git-compat-util.h | 3 --- kwset.c | 36 ++++++++++++++++++++++++++++++++++++ kwset.h | 2 ++ 4 files changed, 38 insertions(+), 39 deletions(-) diff --git a/ctype.c b/ctype.c index fc0225cebd..3451745550 100644 --- a/ctype.c +++ b/ctype.c @@ -28,39 +28,3 @@ const unsigned char sane_ctype[256] = { A, A, A, A, A, A, A, A, A, A, A, R, R, U, P, X, /* 112..127 */ /* Nothing in the 128.. range */ }; - -/* For case-insensitive kwset */ -const unsigned char tolower_trans_tbl[256] = { - 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, - 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, - 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, - 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, - ' ', '!', '"', '#', '$', '%', '&', 0x27, - '(', ')', '*', '+', ',', '-', '.', '/', - '0', '1', '2', '3', '4', '5', '6', '7', - '8', '9', ':', ';', '<', '=', '>', '?', - '@', 'a', 'b', 'c', 'd', 'e', 'f', 'g', - 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', - 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', - 'x', 'y', 'z', '[', 0x5c, ']', '^', '_', - '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', - 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', - 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', - 'x', 'y', 'z', '{', '|', '}', '~', 0x7f, - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, - 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, - 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, - 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, - 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, - 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, - 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, - 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, - 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, - 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, - 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, - 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, - 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, - 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, - 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, - 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, -}; diff --git a/git-compat-util.h b/git-compat-util.h index 5f916e1094..1832444fa2 100644 --- a/git-compat-util.h +++ b/git-compat-util.h @@ -1152,9 +1152,6 @@ static inline size_t xsize_t(off_t len) #define HOST_NAME_MAX 256 #endif -/* in ctype.c, for kwset users */ -extern const unsigned char tolower_trans_tbl[256]; - #include "sane-ctype.h" /* diff --git a/kwset.c b/kwset.c index 4b14d4f86b..bbfcf815a5 100644 --- a/kwset.c +++ b/kwset.c @@ -49,6 +49,42 @@ static void *obstack_chunk_alloc(long size) #define U(c) ((unsigned char) (c)) +/* For case-insensitive kwset */ +const unsigned char tolower_trans_tbl[256] = { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, + 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, + ' ', '!', '"', '#', '$', '%', '&', 0x27, + '(', ')', '*', '+', ',', '-', '.', '/', + '0', '1', '2', '3', '4', '5', '6', '7', + '8', '9', ':', ';', '<', '=', '>', '?', + '@', 'a', 'b', 'c', 'd', 'e', 'f', 'g', + 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', + 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', + 'x', 'y', 'z', '[', 0x5c, ']', '^', '_', + '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', + 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', + 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', + 'x', 'y', 'z', '{', '|', '}', '~', 0x7f, + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, + 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, + 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, + 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, + 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, + 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, + 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, + 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, + 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, + 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, + 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, + 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, + 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, + 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, + 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, +}; + /* Balanced tree of edges and labels leaving a given trie node. */ struct tree { diff --git a/kwset.h b/kwset.h index f50ecae573..d42a793a30 100644 --- a/kwset.h +++ b/kwset.h @@ -26,6 +26,8 @@ The author may be reached (Email) at the address mike@ai.mit.edu, or (US mail) as Mike Haertel c/o Free Software Foundation. */ +extern const unsigned char tolower_trans_tbl[256]; + struct kwsmatch { int index; /* Index number of matching keyword. */ From patchwork Fri Jun 30 20:23:45 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Calvin Wan X-Patchwork-Id: 13298702 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0140CEB64DC for ; Fri, 30 Jun 2023 20:24:35 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232558AbjF3UYe (ORCPT ); Fri, 30 Jun 2023 16:24:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46638 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232521AbjF3UYU (ORCPT ); Fri, 30 Jun 2023 16:24:20 -0400 Received: from mail-yb1-xb4a.google.com (mail-yb1-xb4a.google.com [IPv6:2607:f8b0:4864:20::b4a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D7C514227 for ; Fri, 30 Jun 2023 13:24:00 -0700 (PDT) Received: by mail-yb1-xb4a.google.com with SMTP id 3f1490d57ef6-c17812e30b4so2132991276.1 for ; Fri, 30 Jun 2023 13:24:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1688156640; x=1690748640; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=JL/3baARf0LnfVcoAq1dglxL7DQapRM/uZIsrA/ADhM=; b=bRkhlpG5543jWQgpTHq/YdNVYJmLsQVOQH2TmqTO66TcSiqafbcYgL0en2I+tvHUf/ M6MTAbmG71jjN0FDdoQqQhTTyCVbrx5VE286ASfphnuv5MwGYbWeMJUEs6f8hwVqnhxZ qRHowT+uwOG1wAQNo6Z3RZNW8WibwoBB/oTa67cXEK2glmLTBUu8qS+zgTB/fgFW+M/5 brfEPbM/i78XB30kmYd6O2O0/kdanmfmdpB/BNYvSa4RbzK1tBP6u0zZZHTm+mvi16EV MdSaLj+vDVyekquzCe6Vf9zGQXOr+6oSqVY3Ii+2AjOZ3J2CoUdM2lc/iNZ+2WJKQQXS K+tg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688156640; x=1690748640; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=JL/3baARf0LnfVcoAq1dglxL7DQapRM/uZIsrA/ADhM=; b=FgYZ82gOrWyE6mOci0RQEeIfC/tPftWWKRwrn4SEeRIGM/jl+0j7uE4luwYqJ3g5A4 /OgYkKKz/mpMbwQTE1+MAzrdQPtQg/zGKdmK6rKRGC79Xw9wnpZUcPOk6SRbxDeBBXQw f90LoUam9OLfs6ANLf/GeKCIshNyLCW6KoWJ25HNeDUyHnXxEY3hZF0cLl9DX+SX3m3O seeckZHLx9N3IQ3yTJeFrYd1+gI9mQCvwMOpgmew6BROfa+9AxNxDocw81t9l2p/PdDN 6w9H4+xzfUYpqQoFCq0NJinhvVZUtngUR8bwywM2n7F+hkui8QO5WGcIxLthJF7XQVcK rW9A== X-Gm-Message-State: ABy/qLZKlmFJuE/Bquy2IUFWwyYuan5LLocPLNXfmnYUpCOVhZon9Q8r HwKP02davTQLAwjYdlY2DzpiW3rkg2gpFzsxusW2s9mDj25ukHj8pCn3fLH5jtiTdfm2zmR/Rbd 2ExkzE7k5txnQhf2Z4GuR2NxDNIl3i+5JitEMVPTBn8d5CYCUF0PPmnEojUlThJqmaw== X-Google-Smtp-Source: APBJJlHSWydfDmgHR/joj8SSzuaLwvGlay/ka8rBb7qI92juF867UZDm5gQ6LsO3LeypHvTns6JLVnhpApXPPUg= X-Received: from barleywine.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:3bd4]) (user=calvinwan job=sendgmr) by 2002:a05:6902:603:b0:c22:c2e0:93bf with SMTP id d3-20020a056902060300b00c22c2e093bfmr26136ybt.6.1688156639723; Fri, 30 Jun 2023 13:23:59 -0700 (PDT) Date: Fri, 30 Jun 2023 20:23:45 +0000 In-Reply-To: <20230630202237.3069327-1-calvinwan@google.com> Mime-Version: 1.0 References: <20230630202237.3069327-1-calvinwan@google.com> X-Mailer: git-send-email 2.41.0.255.g8b1d071c50-goog Message-ID: <20230630202346.3069950-5-calvinwan@google.com> Subject: [PATCH v4 5/6] treewide: remove unnecessary includes for wrapper.h From: Calvin Wan To: git@vger.kernel.org Cc: Calvin Wan , phillip.wood123@gmail.com, jonathantanmy@google.com Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Signed-off-by: Calvin Wan --- apply.c | 1 - builtin/am.c | 1 - builtin/bisect.c | 1 - builtin/branch.c | 1 - builtin/bugreport.c | 1 - builtin/clone.c | 1 - builtin/config.c | 1 - builtin/credential-cache.c | 1 - builtin/difftool.c | 1 - builtin/fast-import.c | 1 - builtin/fmt-merge-msg.c | 1 - builtin/gc.c | 1 - builtin/get-tar-commit-id.c | 1 - builtin/index-pack.c | 1 - builtin/init-db.c | 1 - builtin/merge.c | 1 - builtin/pack-objects.c | 1 - builtin/rebase.c | 1 - builtin/receive-pack.c | 1 - builtin/rerere.c | 1 - builtin/unpack-file.c | 1 - builtin/worktree.c | 1 - bulk-checkin.c | 1 - combine-diff.c | 1 - commit-graph.c | 1 - compat/terminal.c | 1 - config.c | 1 - convert.c | 1 - copy.c | 1 - csum-file.c | 1 - daemon.c | 1 - diff.c | 1 - dir.c | 1 - editor.c | 1 - entry.c | 1 - environment.c | 1 - fetch-pack.c | 1 - gpg-interface.c | 1 - grep.c | 1 - http-backend.c | 1 - imap-send.c | 1 - merge-ll.c | 1 - merge-recursive.c | 1 - notes-merge.c | 1 - object-file.c | 1 - pack-write.c | 1 - packfile.c | 1 - parallel-checkout.c | 1 - path.c | 1 - pkt-line.c | 1 - read-cache.c | 1 - rebase-interactive.c | 1 - refs.c | 1 - rerere.c | 1 - send-pack.c | 1 - sequencer.c | 1 - server-info.c | 1 - setup.c | 1 - shallow.c | 1 - strbuf.c | 1 - streaming.c | 1 - t/helper/test-delta.c | 1 - t/helper/test-fsmonitor-client.c | 1 - t/helper/test-read-cache.c | 1 - tag.c | 1 - tempfile.c | 1 - trace.c | 1 - transport-helper.c | 1 - transport.c | 1 - upload-pack.c | 1 - usage.c | 1 - worktree.c | 1 - wrapper.c | 1 - write-or-die.c | 1 - 74 files changed, 74 deletions(-) diff --git a/apply.c b/apply.c index 45dcd645e6..dde124066b 100644 --- a/apply.c +++ b/apply.c @@ -37,7 +37,6 @@ #include "symlinks.h" #include "wildmatch.h" #include "ws.h" -#include "wrapper.h" struct gitdiff_data { struct strbuf *root; diff --git a/builtin/am.c b/builtin/am.c index 5fab159599..dcb89439b1 100644 --- a/builtin/am.c +++ b/builtin/am.c @@ -44,7 +44,6 @@ #include "path.h" #include "repository.h" #include "pretty.h" -#include "wrapper.h" /** * Returns the length of the first line of msg. diff --git a/builtin/bisect.c b/builtin/bisect.c index 6478df3489..65478ef40f 100644 --- a/builtin/bisect.c +++ b/builtin/bisect.c @@ -15,7 +15,6 @@ #include "prompt.h" #include "quote.h" #include "revision.h" -#include "wrapper.h" static GIT_PATH_FUNC(git_path_bisect_terms, "BISECT_TERMS") static GIT_PATH_FUNC(git_path_bisect_expected_rev, "BISECT_EXPECTED_REV") diff --git a/builtin/branch.c b/builtin/branch.c index e8ff3ecc07..a27bc0a3df 100644 --- a/builtin/branch.c +++ b/builtin/branch.c @@ -28,7 +28,6 @@ #include "worktree.h" #include "help.h" #include "commit-reach.h" -#include "wrapper.h" static const char * const builtin_branch_usage[] = { N_("git branch [] [-r | -a] [--merged] [--no-merged]"), diff --git a/builtin/bugreport.c b/builtin/bugreport.c index daf6c23657..d2ae5c305d 100644 --- a/builtin/bugreport.c +++ b/builtin/bugreport.c @@ -11,7 +11,6 @@ #include "diagnose.h" #include "object-file.h" #include "setup.h" -#include "wrapper.h" static void get_system_info(struct strbuf *sys_info) { diff --git a/builtin/clone.c b/builtin/clone.c index da35f1a6b4..c65378b3d2 100644 --- a/builtin/clone.c +++ b/builtin/clone.c @@ -45,7 +45,6 @@ #include "hook.h" #include "bundle.h" #include "bundle-uri.h" -#include "wrapper.h" /* * Overall FIXMEs: diff --git a/builtin/config.c b/builtin/config.c index 1c75cbc43d..787d85edac 100644 --- a/builtin/config.c +++ b/builtin/config.c @@ -15,7 +15,6 @@ #include "setup.h" #include "strbuf.h" #include "worktree.h" -#include "wrapper.h" static const char *const builtin_config_usage[] = { N_("git config []"), diff --git a/builtin/credential-cache.c b/builtin/credential-cache.c index ff3a47badb..43b9d0e5b1 100644 --- a/builtin/credential-cache.c +++ b/builtin/credential-cache.c @@ -3,7 +3,6 @@ #include "parse-options.h" #include "path.h" #include "strbuf.h" -#include "wrapper.h" #include "write-or-die.h" #ifndef NO_UNIX_SOCKETS diff --git a/builtin/difftool.c b/builtin/difftool.c index 24d88f88ba..0f5eae9cd4 100644 --- a/builtin/difftool.c +++ b/builtin/difftool.c @@ -32,7 +32,6 @@ #include "dir.h" #include "entry.h" #include "setup.h" -#include "wrapper.h" static int trust_exit_code; diff --git a/builtin/fast-import.c b/builtin/fast-import.c index 2ee19c7373..4dbb10aff3 100644 --- a/builtin/fast-import.c +++ b/builtin/fast-import.c @@ -26,7 +26,6 @@ #include "commit-reach.h" #include "khash.h" #include "date.h" -#include "wrapper.h" #define PACK_ID_BITS 16 #define MAX_PACK_ID ((1<] [--log[=] | --no-log] [--file ]"), diff --git a/builtin/gc.c b/builtin/gc.c index 91eec7703a..19d73067aa 100644 --- a/builtin/gc.c +++ b/builtin/gc.c @@ -41,7 +41,6 @@ #include "hook.h" #include "setup.h" #include "trace2.h" -#include "wrapper.h" #define FAILED_RUN "failed to run %s" diff --git a/builtin/get-tar-commit-id.c b/builtin/get-tar-commit-id.c index 9303e386cc..20d0dfe9cf 100644 --- a/builtin/get-tar-commit-id.c +++ b/builtin/get-tar-commit-id.c @@ -5,7 +5,6 @@ #include "commit.h" #include "tar.h" #include "quote.h" -#include "wrapper.h" static const char builtin_get_tar_commit_id_usage[] = "git get-tar-commit-id"; diff --git a/builtin/index-pack.c b/builtin/index-pack.c index e280180cac..66202b304d 100644 --- a/builtin/index-pack.c +++ b/builtin/index-pack.c @@ -25,7 +25,6 @@ #include "replace-object.h" #include "promisor-remote.h" #include "setup.h" -#include "wrapper.h" static const char index_pack_usage[] = "git index-pack [-v] [-o ] [--keep | --keep=] [--[no-]rev-index] [--verify] [--strict] ( | --stdin [--fix-thin] [])"; diff --git a/builtin/init-db.c b/builtin/init-db.c index 0d8bd4d721..cb727c826f 100644 --- a/builtin/init-db.c +++ b/builtin/init-db.c @@ -13,7 +13,6 @@ #include "path.h" #include "setup.h" #include "strbuf.h" -#include "wrapper.h" static int guess_repository_type(const char *git_dir) { diff --git a/builtin/merge.c b/builtin/merge.c index 06cf6afdcb..404700a35c 100644 --- a/builtin/merge.c +++ b/builtin/merge.c @@ -53,7 +53,6 @@ #include "commit-reach.h" #include "wt-status.h" #include "commit-graph.h" -#include "wrapper.h" #define DEFAULT_TWOHEAD (1<<0) #define DEFAULT_OCTOPUS (1<<1) diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c index 8e77638145..8251961042 100644 --- a/builtin/pack-objects.c +++ b/builtin/pack-objects.c @@ -43,7 +43,6 @@ #include "promisor-remote.h" #include "pack-mtimes.h" #include "parse-options.h" -#include "wrapper.h" /* * Objects we are going to pack are collected in the `to_pack` structure. diff --git a/builtin/rebase.c b/builtin/rebase.c index 1b3f68d9b0..50cb85751f 100644 --- a/builtin/rebase.c +++ b/builtin/rebase.c @@ -37,7 +37,6 @@ #include "reset.h" #include "trace2.h" #include "hook.h" -#include "wrapper.h" static char const * const builtin_rebase_usage[] = { N_("git rebase [-i] [options] [--exec ] " diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c index faa8f84c5a..a7fe8c4d9a 100644 --- a/builtin/receive-pack.c +++ b/builtin/receive-pack.c @@ -40,7 +40,6 @@ #include "worktree.h" #include "shallow.h" #include "parse-options.h" -#include "wrapper.h" static const char * const receive_pack_usage[] = { N_("git receive-pack "), diff --git a/builtin/rerere.c b/builtin/rerere.c index 0458db9cad..07a9d37275 100644 --- a/builtin/rerere.c +++ b/builtin/rerere.c @@ -6,7 +6,6 @@ #include "repository.h" #include "string-list.h" #include "rerere.h" -#include "wrapper.h" #include "xdiff/xdiff.h" #include "xdiff-interface.h" #include "pathspec.h" diff --git a/builtin/unpack-file.c b/builtin/unpack-file.c index 6842a6c499..c129e2bb6c 100644 --- a/builtin/unpack-file.c +++ b/builtin/unpack-file.c @@ -3,7 +3,6 @@ #include "hex.h" #include "object-name.h" #include "object-store-ll.h" -#include "wrapper.h" static char *create_temp_file(struct object_id *oid) { diff --git a/builtin/worktree.c b/builtin/worktree.c index 7c114d56a3..2ce39b593c 100644 --- a/builtin/worktree.c +++ b/builtin/worktree.c @@ -24,7 +24,6 @@ #include "submodule.h" #include "utf8.h" #include "worktree.h" -#include "wrapper.h" #include "quote.h" #define BUILTIN_WORKTREE_ADD_USAGE \ diff --git a/bulk-checkin.c b/bulk-checkin.c index e2f71db0f6..fec6816259 100644 --- a/bulk-checkin.c +++ b/bulk-checkin.c @@ -17,7 +17,6 @@ #include "packfile.h" #include "object-file.h" #include "object-store-ll.h" -#include "wrapper.h" static int odb_transaction_nesting; diff --git a/combine-diff.c b/combine-diff.c index 11e9d7494a..f90f442482 100644 --- a/combine-diff.c +++ b/combine-diff.c @@ -17,7 +17,6 @@ #include "userdiff.h" #include "oid-array.h" #include "revision.h" -#include "wrapper.h" static int compare_paths(const struct combine_diff_path *one, const struct diff_filespec *two) diff --git a/commit-graph.c b/commit-graph.c index f70afccada..38185c8529 100644 --- a/commit-graph.c +++ b/commit-graph.c @@ -26,7 +26,6 @@ #include "trace2.h" #include "tree.h" #include "chunk-format.h" -#include "wrapper.h" void git_test_write_commit_graph_or_die(void) { diff --git a/compat/terminal.c b/compat/terminal.c index d87e321189..83d95e8656 100644 --- a/compat/terminal.c +++ b/compat/terminal.c @@ -6,7 +6,6 @@ #include "run-command.h" #include "string-list.h" #include "hashmap.h" -#include "wrapper.h" #if defined(HAVE_DEV_TTY) || defined(GIT_WINDOWS_NATIVE) diff --git a/config.c b/config.c index 85c5f35132..59fad84eb7 100644 --- a/config.c +++ b/config.c @@ -39,7 +39,6 @@ #include "wildmatch.h" #include "worktree.h" #include "ws.h" -#include "wrapper.h" #include "write-or-die.h" struct config_source { diff --git a/convert.c b/convert.c index cb64117cc0..a8870baff3 100644 --- a/convert.c +++ b/convert.c @@ -16,7 +16,6 @@ #include "trace.h" #include "utf8.h" #include "merge-ll.h" -#include "wrapper.h" /* * convert.c - convert a file when checking it out and checking it in. diff --git a/copy.c b/copy.c index 882c79cffb..23d84c6c1d 100644 --- a/copy.c +++ b/copy.c @@ -1,7 +1,6 @@ #include "git-compat-util.h" #include "copy.h" #include "path.h" -#include "wrapper.h" int copy_fd(int ifd, int ofd) { diff --git a/csum-file.c b/csum-file.c index daf9b06dff..cd01713244 100644 --- a/csum-file.c +++ b/csum-file.c @@ -11,7 +11,6 @@ #include "progress.h" #include "csum-file.h" #include "hash.h" -#include "wrapper.h" static void verify_buffer_or_die(struct hashfile *f, const void *buf, diff --git a/daemon.c b/daemon.c index 3682bfdd08..a7fe89cd2d 100644 --- a/daemon.c +++ b/daemon.c @@ -10,7 +10,6 @@ #include "setup.h" #include "strbuf.h" #include "string-list.h" -#include "wrapper.h" #ifdef NO_INITGROUPS #define initgroups(x, y) (0) /* nothing */ diff --git a/diff.c b/diff.c index f265afa6c4..9e4d87a8db 100644 --- a/diff.c +++ b/diff.c @@ -43,7 +43,6 @@ #include "setup.h" #include "strmap.h" #include "ws.h" -#include "wrapper.h" #ifdef NO_FAST_WORKING_DIRECTORY #define FAST_WORKING_DIRECTORY 0 diff --git a/dir.c b/dir.c index 3acac7beb1..d270a1be36 100644 --- a/dir.c +++ b/dir.c @@ -32,7 +32,6 @@ #include "symlinks.h" #include "trace2.h" #include "tree.h" -#include "wrapper.h" /* * Tells read_directory_recursive how a file or directory should be treated. diff --git a/editor.c b/editor.c index 38c5dbbb79..b67b802ddf 100644 --- a/editor.c +++ b/editor.c @@ -11,7 +11,6 @@ #include "strvec.h" #include "run-command.h" #include "sigchain.h" -#include "wrapper.h" #ifndef DEFAULT_EDITOR #define DEFAULT_EDITOR "vi" diff --git a/entry.c b/entry.c index f9a7c726a4..43767f9043 100644 --- a/entry.c +++ b/entry.c @@ -14,7 +14,6 @@ #include "fsmonitor.h" #include "entry.h" #include "parallel-checkout.h" -#include "wrapper.h" static void create_directories(const char *path, int path_len, const struct checkout *state) diff --git a/environment.c b/environment.c index 8128104373..a0d1d070d1 100644 --- a/environment.c +++ b/environment.c @@ -28,7 +28,6 @@ #include "setup.h" #include "shallow.h" #include "trace.h" -#include "wrapper.h" #include "write-or-die.h" int trust_executable_bit = 1; diff --git a/fetch-pack.c b/fetch-pack.c index 1e0313a0a6..bb288d47f3 100644 --- a/fetch-pack.c +++ b/fetch-pack.c @@ -34,7 +34,6 @@ #include "commit-graph.h" #include "sigchain.h" #include "mergesort.h" -#include "wrapper.h" static int transfer_unpack_limit = -1; static int fetch_unpack_limit = -1; diff --git a/gpg-interface.c b/gpg-interface.c index f7c1d385c1..48f43c5a21 100644 --- a/gpg-interface.c +++ b/gpg-interface.c @@ -12,7 +12,6 @@ #include "sigchain.h" #include "tempfile.h" #include "alias.h" -#include "wrapper.h" #include "environment.h" static int git_gpg_config(const char *, const char *, diff --git a/grep.c b/grep.c index ea38687c8a..0904d55b24 100644 --- a/grep.c +++ b/grep.c @@ -12,7 +12,6 @@ #include "commit.h" #include "quote.h" #include "help.h" -#include "wrapper.h" static int grep_source_load(struct grep_source *gs); static int grep_source_is_binary(struct grep_source *gs, diff --git a/http-backend.c b/http-backend.c index e1969c05dc..25a19c21b9 100644 --- a/http-backend.c +++ b/http-backend.c @@ -19,7 +19,6 @@ #include "object-store-ll.h" #include "protocol.h" #include "date.h" -#include "wrapper.h" #include "write-or-die.h" static const char content_type[] = "Content-Type"; diff --git a/imap-send.c b/imap-send.c index 3518a4ace6..23c807fced 100644 --- a/imap-send.c +++ b/imap-send.c @@ -30,7 +30,6 @@ #include "parse-options.h" #include "setup.h" #include "strbuf.h" -#include "wrapper.h" #if defined(NO_OPENSSL) && !defined(HAVE_OPENSSL_CSPRNG) typedef void *SSL; #endif diff --git a/merge-ll.c b/merge-ll.c index 95795b70f5..8fcf2d3710 100644 --- a/merge-ll.c +++ b/merge-ll.c @@ -13,7 +13,6 @@ #include "merge-ll.h" #include "quote.h" #include "strbuf.h" -#include "wrapper.h" struct ll_merge_driver; diff --git a/merge-recursive.c b/merge-recursive.c index 43f6b2d036..6a4081bb0f 100644 --- a/merge-recursive.c +++ b/merge-recursive.c @@ -38,7 +38,6 @@ #include "tag.h" #include "tree-walk.h" #include "unpack-trees.h" -#include "wrapper.h" #include "xdiff-interface.h" struct merge_options_internal { diff --git a/notes-merge.c b/notes-merge.c index 071947894e..8799b522a5 100644 --- a/notes-merge.c +++ b/notes-merge.c @@ -20,7 +20,6 @@ #include "trace.h" #include "notes-utils.h" #include "commit-reach.h" -#include "wrapper.h" struct notes_merge_pair { struct object_id obj, base, local, remote; diff --git a/object-file.c b/object-file.c index 8d87720dd5..527b740018 100644 --- a/object-file.c +++ b/object-file.c @@ -44,7 +44,6 @@ #include "setup.h" #include "submodule.h" #include "fsck.h" -#include "wrapper.h" /* The maximum size for an object header. */ #define MAX_HEADER_LEN 32 diff --git a/pack-write.c b/pack-write.c index af48813a9b..b19ddf15b2 100644 --- a/pack-write.c +++ b/pack-write.c @@ -12,7 +12,6 @@ #include "pack-revindex.h" #include "path.h" #include "strbuf.h" -#include "wrapper.h" void reset_pack_idx_option(struct pack_idx_option *opts) { diff --git a/packfile.c b/packfile.c index c2e753ef8f..9126274b37 100644 --- a/packfile.c +++ b/packfile.c @@ -24,7 +24,6 @@ #include "commit-graph.h" #include "pack-revindex.h" #include "promisor-remote.h" -#include "wrapper.h" char *odb_pack_name(struct strbuf *buf, const unsigned char *hash, diff --git a/parallel-checkout.c b/parallel-checkout.c index 602fbf19d3..8637723461 100644 --- a/parallel-checkout.c +++ b/parallel-checkout.c @@ -15,7 +15,6 @@ #include "symlinks.h" #include "thread-utils.h" #include "trace2.h" -#include "wrapper.h" struct pc_worker { struct child_process cp; diff --git a/path.c b/path.c index 044a50bad0..67e2690efe 100644 --- a/path.c +++ b/path.c @@ -18,7 +18,6 @@ #include "object-store-ll.h" #include "lockfile.h" #include "exec-cmd.h" -#include "wrapper.h" static int get_st_mode_bits(const char *path, int *mode) { diff --git a/pkt-line.c b/pkt-line.c index 62b4208b66..6e4166132d 100644 --- a/pkt-line.c +++ b/pkt-line.c @@ -5,7 +5,6 @@ #include "hex.h" #include "run-command.h" #include "trace.h" -#include "wrapper.h" #include "write-or-die.h" char packet_buffer[LARGE_PACKET_MAX]; diff --git a/read-cache.c b/read-cache.c index b9a995e5a1..140b4f96a0 100644 --- a/read-cache.c +++ b/read-cache.c @@ -46,7 +46,6 @@ #include "csum-file.h" #include "promisor-remote.h" #include "hook.h" -#include "wrapper.h" /* Mask for the name length in ce_flags in the on-disk index */ diff --git a/rebase-interactive.c b/rebase-interactive.c index f286404d4b..d9718409b3 100644 --- a/rebase-interactive.c +++ b/rebase-interactive.c @@ -11,7 +11,6 @@ #include "config.h" #include "dir.h" #include "object-name.h" -#include "wrapper.h" static const char edit_todo_list_advice[] = N_("You can fix this with 'git rebase --edit-todo' " diff --git a/refs.c b/refs.c index c029f64982..d5e0184ca5 100644 --- a/refs.c +++ b/refs.c @@ -30,7 +30,6 @@ #include "date.h" #include "commit.h" #include "wildmatch.h" -#include "wrapper.h" /* * List of all available backends diff --git a/rerere.c b/rerere.c index e2b8597f88..4227c9612a 100644 --- a/rerere.c +++ b/rerere.c @@ -20,7 +20,6 @@ #include "object-store-ll.h" #include "hash-lookup.h" #include "strmap.h" -#include "wrapper.h" #define RESOLVED 0 #define PUNTED 1 diff --git a/send-pack.c b/send-pack.c index 9510bef856..89aca9d829 100644 --- a/send-pack.c +++ b/send-pack.c @@ -15,7 +15,6 @@ #include "quote.h" #include "transport.h" #include "version.h" -#include "wrapper.h" #include "oid-array.h" #include "gpg-interface.h" #include "shallow.h" diff --git a/sequencer.c b/sequencer.c index 7e6c556e0a..993dd8efbc 100644 --- a/sequencer.c +++ b/sequencer.c @@ -49,7 +49,6 @@ #include "rebase-interactive.h" #include "reset.h" #include "branch.h" -#include "wrapper.h" #define GIT_REFLOG_ACTION "GIT_REFLOG_ACTION" diff --git a/server-info.c b/server-info.c index 382e481a2b..f350713ecf 100644 --- a/server-info.c +++ b/server-info.c @@ -14,7 +14,6 @@ #include "object-store-ll.h" #include "server-info.h" #include "strbuf.h" -#include "wrapper.h" struct update_info_ctx { FILE *cur_fp; diff --git a/setup.c b/setup.c index 8e4b2cd2c3..18927a847b 100644 --- a/setup.c +++ b/setup.c @@ -17,7 +17,6 @@ #include "quote.h" #include "trace2.h" #include "worktree.h" -#include "wrapper.h" static int inside_git_dir = -1; static int inside_work_tree = -1; diff --git a/shallow.c b/shallow.c index f3ef94d4c9..2fad3504b7 100644 --- a/shallow.c +++ b/shallow.c @@ -20,7 +20,6 @@ #include "shallow.h" #include "statinfo.h" #include "trace.h" -#include "wrapper.h" void set_alternate_shallow_file(struct repository *r, const char *path, int override) { diff --git a/strbuf.c b/strbuf.c index b41d343ed0..ab8e52e9b4 100644 --- a/strbuf.c +++ b/strbuf.c @@ -6,7 +6,6 @@ #include "string-list.h" #include "utf8.h" #include "date.h" -#include "wrapper.h" int starts_with(const char *str, const char *prefix) { diff --git a/streaming.c b/streaming.c index 49791ab958..10adf625b2 100644 --- a/streaming.c +++ b/streaming.c @@ -10,7 +10,6 @@ #include "object-store-ll.h" #include "replace-object.h" #include "packfile.h" -#include "wrapper.h" typedef int (*open_istream_fn)(struct git_istream *, struct repository *, diff --git a/t/helper/test-delta.c b/t/helper/test-delta.c index e7d134ec25..6bc787a474 100644 --- a/t/helper/test-delta.c +++ b/t/helper/test-delta.c @@ -11,7 +11,6 @@ #include "test-tool.h" #include "git-compat-util.h" #include "delta.h" -#include "wrapper.h" static const char usage_str[] = "test-tool delta (-d|-p) "; diff --git a/t/helper/test-fsmonitor-client.c b/t/helper/test-fsmonitor-client.c index 58d1dc5fc8..8280984d08 100644 --- a/t/helper/test-fsmonitor-client.c +++ b/t/helper/test-fsmonitor-client.c @@ -11,7 +11,6 @@ #include "setup.h" #include "thread-utils.h" #include "trace2.h" -#include "wrapper.h" #ifndef HAVE_FSMONITOR_DAEMON_BACKEND int cmd__fsmonitor_client(int argc UNUSED, const char **argv UNUSED) diff --git a/t/helper/test-read-cache.c b/t/helper/test-read-cache.c index 56c2d25f35..1acd362346 100644 --- a/t/helper/test-read-cache.c +++ b/t/helper/test-read-cache.c @@ -4,7 +4,6 @@ #include "read-cache-ll.h" #include "repository.h" #include "setup.h" -#include "wrapper.h" int cmd__read_cache(int argc, const char **argv) { diff --git a/tag.c b/tag.c index c5426484b2..fc3834db46 100644 --- a/tag.c +++ b/tag.c @@ -10,7 +10,6 @@ #include "gpg-interface.h" #include "hex.h" #include "packfile.h" -#include "wrapper.h" const char *tag_type = "tag"; diff --git a/tempfile.c b/tempfile.c index 6c88a63b42..ecdebf1afb 100644 --- a/tempfile.c +++ b/tempfile.c @@ -47,7 +47,6 @@ #include "path.h" #include "tempfile.h" #include "sigchain.h" -#include "wrapper.h" static VOLATILE_LIST_HEAD(tempfile_list); diff --git a/trace.c b/trace.c index 592c141d78..971a68abe8 100644 --- a/trace.c +++ b/trace.c @@ -27,7 +27,6 @@ #include "quote.h" #include "setup.h" #include "trace.h" -#include "wrapper.h" struct trace_key trace_default_key = { "GIT_TRACE", 0, 0, 0 }; struct trace_key trace_perf_key = TRACE_KEY_INIT(PERFORMANCE); diff --git a/transport-helper.c b/transport-helper.c index 5c0bc6a896..49811ef176 100644 --- a/transport-helper.c +++ b/transport-helper.c @@ -19,7 +19,6 @@ #include "refspec.h" #include "transport-internal.h" #include "protocol.h" -#include "wrapper.h" static int debug; diff --git a/transport.c b/transport.c index 4dc187a388..0a5794a944 100644 --- a/transport.c +++ b/transport.c @@ -30,7 +30,6 @@ #include "object-store-ll.h" #include "color.h" #include "bundle-uri.h" -#include "wrapper.h" static int transport_use_color = -1; static char transport_colors[][COLOR_MAXLEN] = { diff --git a/upload-pack.c b/upload-pack.c index 946074920a..0970392b41 100644 --- a/upload-pack.c +++ b/upload-pack.c @@ -32,7 +32,6 @@ #include "commit-graph.h" #include "commit-reach.h" #include "shallow.h" -#include "wrapper.h" #include "write-or-die.h" /* Remember to update object flag allocation in object.h */ diff --git a/usage.c b/usage.c index 46d99f8bd4..09f0ed509b 100644 --- a/usage.c +++ b/usage.c @@ -6,7 +6,6 @@ #include "git-compat-util.h" #include "gettext.h" #include "trace2.h" -#include "wrapper.h" static void vreportf(const char *prefix, const char *err, va_list params) { diff --git a/worktree.c b/worktree.c index 1b84e3a34d..2ea5d45e1e 100644 --- a/worktree.c +++ b/worktree.c @@ -12,7 +12,6 @@ #include "dir.h" #include "wt-status.h" #include "config.h" -#include "wrapper.h" void free_worktrees(struct worktree **worktrees) { diff --git a/wrapper.c b/wrapper.c index 67f5f5dbe1..22be9812a7 100644 --- a/wrapper.c +++ b/wrapper.c @@ -9,7 +9,6 @@ #include "repository.h" #include "strbuf.h" #include "trace2.h" -#include "wrapper.h" static intmax_t count_fsync_writeout_only; static intmax_t count_fsync_hardware_flush; diff --git a/write-or-die.c b/write-or-die.c index cc9e0787a1..d8355c0c3e 100644 --- a/write-or-die.c +++ b/write-or-die.c @@ -1,7 +1,6 @@ #include "git-compat-util.h" #include "config.h" #include "run-command.h" -#include "wrapper.h" #include "write-or-die.h" /* From patchwork Fri Jun 30 20:23:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Calvin Wan X-Patchwork-Id: 13298703 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 14EDBEB64DA for ; Fri, 30 Jun 2023 20:24:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232535AbjF3UYg (ORCPT ); Fri, 30 Jun 2023 16:24:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46644 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232538AbjF3UYY (ORCPT ); Fri, 30 Jun 2023 16:24:24 -0400 Received: from mail-pg1-x549.google.com (mail-pg1-x549.google.com [IPv6:2607:f8b0:4864:20::549]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 71CE1422F for ; Fri, 30 Jun 2023 13:24:02 -0700 (PDT) Received: by mail-pg1-x549.google.com with SMTP id 41be03b00d2f7-53ba38cf091so1757451a12.1 for ; Fri, 30 Jun 2023 13:24:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1688156641; x=1690748641; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=fgMd4c28E13Ie258FSSXBn/hA+1LtxVIEQsiHL/PBEc=; b=kTvHHLAIac6cVGCGIYUKZ/cVmwpVJXwQeqOMOsQ+TNeHsTFC5YT7jIH8h8ewo0Xy35 DZy6Px/gcbPF5wZgnuRuEQB3Piv45Z8iJuSqAc1GiH5EXh3UhX7e8kFE6+KDNaV9iufC RhpsYqqBG2wXm2GA3Py2AIOt0YJmjCEaqZg+liJ2AGh4hicNNNU9INRJZH53z9KZ59s1 oHMqNHby/E7VKhMV+6mtf1KgpJpkdJ/Dpou1MV4bSgaPPq7A7OYJqPmSaaxMlMBl8s7e K400FfMvQ0UxxxxUhMrTwIPXHrCcRwq98kEcj7mTXOgr+mhaod+M/02YJvAwmwhQdJCa x+Mg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688156641; x=1690748641; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=fgMd4c28E13Ie258FSSXBn/hA+1LtxVIEQsiHL/PBEc=; b=WJQDLc57i0ZRSMqgZ6AcqtiQuWUoJ9WaxQIJ7hT21nhgqQv9hcqmKRl0dbqLIfbend 8zkxM0XQiokZ2FCOSr03OwqCVJu1tVOtVWMCOk4v3tUWE/CbKaaSl8SH72pcyVp+S/rF YaOnnu7wbnj/cRot0ntojKNtNkGPHXDggEfQvS3CKrobp1lAg6R83n0ezM0uaw3YaPqr weuTuLrof7iMkQyslGkfSlg9j0Lgb1Lik4ghZ/MulfugzpycuOwGImRy4zMhT5HUdIdd CFEEv1BS8xZeU9lQLF2d0Q6ILh+KEClof+5y7V3RYO1ZKnyQFsC1Br/icQDbXsRgdgF9 ZGtQ== X-Gm-Message-State: ABy/qLY6PL6aQLPM6388Zeopi6RLkiIcrCAe/r2c2Yq0/IfuR4Wn44cx yELxw5PZvXAE0KzJjJKEfCzsYYQC4RvtufPlBFgbluYILekPFGYfcaotK0tH2Ju+HgjfOR+78Fj 92R3Lu8QMptCO1tMMWLsVCdZ0rx0P2lrAJGPN689PCQ+2QK9TJ/0eGSWdZmLF9rQEXA== X-Google-Smtp-Source: APBJJlEiTIC/lU7DeoXTUKgSNa6ZPE06/mwST6AXnCo08nH6NCFjqOxGLEVCkpRFaKkgNUYWNz64mS3rnGoDnCs= X-Received: from barleywine.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:3bd4]) (user=calvinwan job=sendgmr) by 2002:a63:f34d:0:b0:55a:e987:9afe with SMTP id t13-20020a63f34d000000b0055ae9879afemr2019459pgj.5.1688156641295; Fri, 30 Jun 2023 13:24:01 -0700 (PDT) Date: Fri, 30 Jun 2023 20:23:46 +0000 In-Reply-To: <20230630202237.3069327-1-calvinwan@google.com> Mime-Version: 1.0 References: <20230630202237.3069327-1-calvinwan@google.com> X-Mailer: git-send-email 2.41.0.255.g8b1d071c50-goog Message-ID: <20230630202346.3069950-6-calvinwan@google.com> Subject: [PATCH v4 6/6] common: move alloc macros to common.h From: Calvin Wan To: git@vger.kernel.org Cc: Calvin Wan , phillip.wood123@gmail.com, jonathantanmy@google.com Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org alloc_nr, ALLOC_GROW, and ALLOC_GROW_BY are commonly used macros for dynamic array allocation. Moving these macros to git-compat-util.h with the other alloc macros focuses alloc.[ch] to allocation for Git objects and additionally allows us to remove inclusions to alloc.h from files that solely used the above macros. Signed-off-by: Calvin Wan --- add-patch.c | 1 - alias.c | 1 - alloc.h | 75 ------------------------------ apply.c | 1 - archive-tar.c | 1 - archive.c | 1 - attr.c | 1 - builtin/blame.c | 1 - builtin/cat-file.c | 1 - builtin/checkout--worker.c | 1 - builtin/config.c | 1 - builtin/credential-cache--daemon.c | 1 - builtin/fetch-pack.c | 1 - builtin/fsmonitor--daemon.c | 1 - builtin/grep.c | 1 - builtin/index-pack.c | 1 - builtin/log.c | 1 - builtin/merge.c | 1 - builtin/mktree.c | 1 - builtin/mv.c | 1 - builtin/name-rev.c | 1 - builtin/pack-objects.c | 1 - builtin/repack.c | 1 - builtin/rev-parse.c | 1 - builtin/revert.c | 1 - builtin/rm.c | 1 - builtin/submodule--helper.c | 1 - bulk-checkin.c | 1 - cache-tree.c | 1 - chunk-format.c | 1 - commit-reach.c | 1 - config.c | 1 - daemon.c | 1 - delta-islands.c | 1 - diff.c | 1 - diffcore-rename.c | 1 - dir-iterator.c | 1 - dir.c | 1 - ewah/bitmap.c | 1 - ewah/ewah_bitmap.c | 1 - fetch-pack.c | 1 - fmt-merge-msg.c | 1 - fsck.c | 1 - git-compat-util.h | 75 ++++++++++++++++++++++++++++++ help.c | 1 - http-backend.c | 1 - line-log.c | 1 - list-objects-filter-options.c | 1 - list-objects-filter.c | 1 - midx.c | 1 - object-file.c | 1 - oid-array.c | 1 - oidtree.c | 1 - pack-bitmap-write.c | 1 - pack-bitmap.c | 1 - pack-objects.c | 1 - packfile.c | 1 - parallel-checkout.c | 1 - pretty.c | 1 - prio-queue.c | 1 - quote.c | 1 - read-cache.c | 1 - ref-filter.c | 1 - reflog-walk.c | 1 - refs.c | 1 - refspec.c | 1 - remote-curl.c | 1 - remote.c | 1 - rerere.c | 1 - revision.c | 1 - sequencer.c | 1 - server-info.c | 1 - shallow.c | 1 - sigchain.c | 1 - sparse-index.c | 1 - split-index.c | 1 - strbuf.c | 1 - string-list.c | 1 - strvec.c | 1 - submodule-config.c | 1 - submodule.c | 1 - t/helper/test-reach.c | 1 - trace2/tr2_tls.c | 1 - trailer.c | 1 - transport.c | 1 - tree-walk.c | 1 - userdiff.c | 1 - worktree.c | 1 - 88 files changed, 75 insertions(+), 161 deletions(-) diff --git a/add-patch.c b/add-patch.c index ba629add62..bfe19876cd 100644 --- a/add-patch.c +++ b/add-patch.c @@ -1,7 +1,6 @@ #include "git-compat-util.h" #include "add-interactive.h" #include "advice.h" -#include "alloc.h" #include "editor.h" #include "environment.h" #include "gettext.h" diff --git a/alias.c b/alias.c index 910dd252a0..5a238f2e30 100644 --- a/alias.c +++ b/alias.c @@ -1,6 +1,5 @@ #include "git-compat-util.h" #include "alias.h" -#include "alloc.h" #include "config.h" #include "gettext.h" #include "strbuf.h" diff --git a/alloc.h b/alloc.h index 4312db4bd0..3f4a0ad310 100644 --- a/alloc.h +++ b/alloc.h @@ -17,79 +17,4 @@ void *alloc_object_node(struct repository *r); struct alloc_state *allocate_alloc_state(void); void clear_alloc_state(struct alloc_state *s); -#define alloc_nr(x) (((x)+16)*3/2) - -/** - * Dynamically growing an array using realloc() is error prone and boring. - * - * Define your array with: - * - * - a pointer (`item`) that points at the array, initialized to `NULL` - * (although please name the variable based on its contents, not on its - * type); - * - * - an integer variable (`alloc`) that keeps track of how big the current - * allocation is, initialized to `0`; - * - * - another integer variable (`nr`) to keep track of how many elements the - * array currently has, initialized to `0`. - * - * Then before adding `n`th element to the item, call `ALLOC_GROW(item, n, - * alloc)`. This ensures that the array can hold at least `n` elements by - * calling `realloc(3)` and adjusting `alloc` variable. - * - * ------------ - * sometype *item; - * size_t nr; - * size_t alloc - * - * for (i = 0; i < nr; i++) - * if (we like item[i] already) - * return; - * - * // we did not like any existing one, so add one - * ALLOC_GROW(item, nr + 1, alloc); - * item[nr++] = value you like; - * ------------ - * - * You are responsible for updating the `nr` variable. - * - * If you need to specify the number of elements to allocate explicitly - * then use the macro `REALLOC_ARRAY(item, alloc)` instead of `ALLOC_GROW`. - * - * Consider using ALLOC_GROW_BY instead of ALLOC_GROW as it has some - * added niceties. - * - * DO NOT USE any expression with side-effect for 'x', 'nr', or 'alloc'. - */ -#define ALLOC_GROW(x, nr, alloc) \ - do { \ - if ((nr) > alloc) { \ - if (alloc_nr(alloc) < (nr)) \ - alloc = (nr); \ - else \ - alloc = alloc_nr(alloc); \ - REALLOC_ARRAY(x, alloc); \ - } \ - } while (0) - -/* - * Similar to ALLOC_GROW but handles updating of the nr value and - * zeroing the bytes of the newly-grown array elements. - * - * DO NOT USE any expression with side-effect for any of the - * arguments. - */ -#define ALLOC_GROW_BY(x, nr, increase, alloc) \ - do { \ - if (increase) { \ - size_t new_nr = nr + (increase); \ - if (new_nr < nr) \ - BUG("negative growth in ALLOC_GROW_BY"); \ - ALLOC_GROW(x, new_nr, alloc); \ - memset((x) + nr, 0, sizeof(*(x)) * (increase)); \ - nr = new_nr; \ - } \ - } while (0) - #endif diff --git a/apply.c b/apply.c index dde124066b..3d69fec836 100644 --- a/apply.c +++ b/apply.c @@ -9,7 +9,6 @@ #include "git-compat-util.h" #include "abspath.h" -#include "alloc.h" #include "base85.h" #include "config.h" #include "object-store-ll.h" diff --git a/archive-tar.c b/archive-tar.c index 218c901ec7..0726996839 100644 --- a/archive-tar.c +++ b/archive-tar.c @@ -2,7 +2,6 @@ * Copyright (c) 2005, 2006 Rene Scharfe */ #include "git-compat-util.h" -#include "alloc.h" #include "config.h" #include "gettext.h" #include "git-zlib.h" diff --git a/archive.c b/archive.c index 1817cca9f4..ca11db185b 100644 --- a/archive.c +++ b/archive.c @@ -1,6 +1,5 @@ #include "git-compat-util.h" #include "abspath.h" -#include "alloc.h" #include "config.h" #include "convert.h" #include "environment.h" diff --git a/attr.c b/attr.c index e5785c55db..ff0a3e7b61 100644 --- a/attr.c +++ b/attr.c @@ -7,7 +7,6 @@ */ #include "git-compat-util.h" -#include "alloc.h" #include "config.h" #include "environment.h" #include "exec-cmd.h" diff --git a/builtin/blame.c b/builtin/blame.c index f9d316a7bf..9c987d6567 100644 --- a/builtin/blame.c +++ b/builtin/blame.c @@ -6,7 +6,6 @@ */ #include "git-compat-util.h" -#include "alloc.h" #include "config.h" #include "color.h" #include "builtin.h" diff --git a/builtin/cat-file.c b/builtin/cat-file.c index c9c93b80fc..694c8538df 100644 --- a/builtin/cat-file.c +++ b/builtin/cat-file.c @@ -5,7 +5,6 @@ */ #define USE_THE_INDEX_VARIABLE #include "builtin.h" -#include "alloc.h" #include "config.h" #include "convert.h" #include "diff.h" diff --git a/builtin/checkout--worker.c b/builtin/checkout--worker.c index c655dc4b13..6b62b5375b 100644 --- a/builtin/checkout--worker.c +++ b/builtin/checkout--worker.c @@ -1,5 +1,4 @@ #include "builtin.h" -#include "alloc.h" #include "config.h" #include "entry.h" #include "gettext.h" diff --git a/builtin/config.c b/builtin/config.c index 787d85edac..11a4d4ef14 100644 --- a/builtin/config.c +++ b/builtin/config.c @@ -1,6 +1,5 @@ #include "builtin.h" #include "abspath.h" -#include "alloc.h" #include "config.h" #include "color.h" #include "editor.h" diff --git a/builtin/credential-cache--daemon.c b/builtin/credential-cache--daemon.c index dc1cf2d25f..3a6a750a8e 100644 --- a/builtin/credential-cache--daemon.c +++ b/builtin/credential-cache--daemon.c @@ -1,6 +1,5 @@ #include "builtin.h" #include "abspath.h" -#include "alloc.h" #include "gettext.h" #include "object-file.h" #include "parse-options.h" diff --git a/builtin/fetch-pack.c b/builtin/fetch-pack.c index 3ba0fe5a39..44c05ee86c 100644 --- a/builtin/fetch-pack.c +++ b/builtin/fetch-pack.c @@ -1,5 +1,4 @@ #include "builtin.h" -#include "alloc.h" #include "gettext.h" #include "hex.h" #include "object-file.h" diff --git a/builtin/fsmonitor--daemon.c b/builtin/fsmonitor--daemon.c index b5796b4a4a..7e99c4d61b 100644 --- a/builtin/fsmonitor--daemon.c +++ b/builtin/fsmonitor--daemon.c @@ -1,6 +1,5 @@ #include "builtin.h" #include "abspath.h" -#include "alloc.h" #include "config.h" #include "environment.h" #include "gettext.h" diff --git a/builtin/grep.c b/builtin/grep.c index 22645c6244..ce866523e2 100644 --- a/builtin/grep.c +++ b/builtin/grep.c @@ -4,7 +4,6 @@ * Copyright (c) 2006 Junio C Hamano */ #include "builtin.h" -#include "alloc.h" #include "gettext.h" #include "hex.h" #include "repository.h" diff --git a/builtin/index-pack.c b/builtin/index-pack.c index 66202b304d..3da879d138 100644 --- a/builtin/index-pack.c +++ b/builtin/index-pack.c @@ -1,5 +1,4 @@ #include "builtin.h" -#include "alloc.h" #include "config.h" #include "delta.h" #include "environment.h" diff --git a/builtin/log.c b/builtin/log.c index 1aca560ec3..1b119eaf0b 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -6,7 +6,6 @@ */ #include "git-compat-util.h" #include "abspath.h" -#include "alloc.h" #include "config.h" #include "environment.h" #include "gettext.h" diff --git a/builtin/merge.c b/builtin/merge.c index 404700a35c..de68910177 100644 --- a/builtin/merge.c +++ b/builtin/merge.c @@ -10,7 +10,6 @@ #include "builtin.h" #include "abspath.h" #include "advice.h" -#include "alloc.h" #include "config.h" #include "editor.h" #include "environment.h" diff --git a/builtin/mktree.c b/builtin/mktree.c index 0eea810c7e..9a22d4e277 100644 --- a/builtin/mktree.c +++ b/builtin/mktree.c @@ -4,7 +4,6 @@ * Copyright (c) Junio C Hamano, 2006, 2009 */ #include "builtin.h" -#include "alloc.h" #include "gettext.h" #include "hex.h" #include "quote.h" diff --git a/builtin/mv.c b/builtin/mv.c index ae462bd7d4..fa84fcb20d 100644 --- a/builtin/mv.c +++ b/builtin/mv.c @@ -7,7 +7,6 @@ #include "builtin.h" #include "abspath.h" #include "advice.h" -#include "alloc.h" #include "config.h" #include "environment.h" #include "gettext.h" diff --git a/builtin/name-rev.c b/builtin/name-rev.c index c3b722b36f..c706fa3720 100644 --- a/builtin/name-rev.c +++ b/builtin/name-rev.c @@ -1,5 +1,4 @@ #include "builtin.h" -#include "alloc.h" #include "environment.h" #include "gettext.h" #include "hex.h" diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c index 8251961042..06b33d49e9 100644 --- a/builtin/pack-objects.c +++ b/builtin/pack-objects.c @@ -1,5 +1,4 @@ #include "builtin.h" -#include "alloc.h" #include "environment.h" #include "gettext.h" #include "hex.h" diff --git a/builtin/repack.c b/builtin/repack.c index 51698e3c68..f913e9a8a2 100644 --- a/builtin/repack.c +++ b/builtin/repack.c @@ -1,5 +1,4 @@ #include "builtin.h" -#include "alloc.h" #include "config.h" #include "dir.h" #include "environment.h" diff --git a/builtin/rev-parse.c b/builtin/rev-parse.c index 3e2ee44177..434646b074 100644 --- a/builtin/rev-parse.c +++ b/builtin/rev-parse.c @@ -6,7 +6,6 @@ #define USE_THE_INDEX_VARIABLE #include "builtin.h" #include "abspath.h" -#include "alloc.h" #include "config.h" #include "commit.h" #include "environment.h" diff --git a/builtin/revert.c b/builtin/revert.c index f6f07d9b53..e6f9a1ad26 100644 --- a/builtin/revert.c +++ b/builtin/revert.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "config.h" #include "builtin.h" #include "parse-options.h" diff --git a/builtin/rm.c b/builtin/rm.c index 463eeabcea..dff819ae50 100644 --- a/builtin/rm.c +++ b/builtin/rm.c @@ -5,7 +5,6 @@ */ #define USE_THE_INDEX_VARIABLE #include "builtin.h" -#include "alloc.h" #include "advice.h" #include "config.h" #include "lockfile.h" diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c index 42706150cf..f6871efd95 100644 --- a/builtin/submodule--helper.c +++ b/builtin/submodule--helper.c @@ -1,7 +1,6 @@ #define USE_THE_INDEX_VARIABLE #include "builtin.h" #include "abspath.h" -#include "alloc.h" #include "environment.h" #include "gettext.h" #include "hex.h" diff --git a/bulk-checkin.c b/bulk-checkin.c index fec6816259..73bff3a23d 100644 --- a/bulk-checkin.c +++ b/bulk-checkin.c @@ -2,7 +2,6 @@ * Copyright (c) 2011, Google Inc. */ #include "git-compat-util.h" -#include "alloc.h" #include "bulk-checkin.h" #include "environment.h" #include "gettext.h" diff --git a/cache-tree.c b/cache-tree.c index 84d7491420..641427ed41 100644 --- a/cache-tree.c +++ b/cache-tree.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "environment.h" #include "hex.h" #include "lockfile.h" diff --git a/chunk-format.c b/chunk-format.c index e7d613c907..140dfa0dcc 100644 --- a/chunk-format.c +++ b/chunk-format.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "chunk-format.h" #include "csum-file.h" #include "gettext.h" diff --git a/commit-reach.c b/commit-reach.c index f15d84566b..4b7c233fd4 100644 --- a/commit-reach.c +++ b/commit-reach.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "commit.h" #include "commit-graph.h" #include "decorate.h" diff --git a/config.c b/config.c index 59fad84eb7..3846a37be9 100644 --- a/config.c +++ b/config.c @@ -8,7 +8,6 @@ #include "git-compat-util.h" #include "abspath.h" #include "advice.h" -#include "alloc.h" #include "date.h" #include "branch.h" #include "config.h" diff --git a/daemon.c b/daemon.c index a7fe89cd2d..f5e597114b 100644 --- a/daemon.c +++ b/daemon.c @@ -1,6 +1,5 @@ #include "git-compat-util.h" #include "abspath.h" -#include "alloc.h" #include "config.h" #include "environment.h" #include "path.h" diff --git a/delta-islands.c b/delta-islands.c index 5fc6ea6ff5..5de5759f3f 100644 --- a/delta-islands.c +++ b/delta-islands.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "attr.h" #include "object.h" #include "blob.h" diff --git a/diff.c b/diff.c index 9e4d87a8db..ee3eb629e3 100644 --- a/diff.c +++ b/diff.c @@ -3,7 +3,6 @@ */ #include "git-compat-util.h" #include "abspath.h" -#include "alloc.h" #include "base85.h" #include "config.h" #include "convert.h" diff --git a/diffcore-rename.c b/diffcore-rename.c index 926b554bd5..5a6e2bcac7 100644 --- a/diffcore-rename.c +++ b/diffcore-rename.c @@ -3,7 +3,6 @@ * Copyright (C) 2005 Junio C Hamano */ #include "git-compat-util.h" -#include "alloc.h" #include "diff.h" #include "diffcore.h" #include "object-store-ll.h" diff --git a/dir-iterator.c b/dir-iterator.c index fb7c47f0e8..278b04243a 100644 --- a/dir-iterator.c +++ b/dir-iterator.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "dir.h" #include "iterator.h" #include "dir-iterator.h" diff --git a/dir.c b/dir.c index d270a1be36..c9dc69fc24 100644 --- a/dir.c +++ b/dir.c @@ -7,7 +7,6 @@ */ #include "git-compat-util.h" #include "abspath.h" -#include "alloc.h" #include "config.h" #include "convert.h" #include "dir.h" diff --git a/ewah/bitmap.c b/ewah/bitmap.c index 12d6aa398e..7b525b1ecd 100644 --- a/ewah/bitmap.c +++ b/ewah/bitmap.c @@ -17,7 +17,6 @@ * along with this program; if not, see . */ #include "git-compat-util.h" -#include "alloc.h" #include "ewok.h" #define EWAH_MASK(x) ((eword_t)1 << (x % BITS_IN_EWORD)) diff --git a/ewah/ewah_bitmap.c b/ewah/ewah_bitmap.c index c6d4ffc87c..8785cbc54a 100644 --- a/ewah/ewah_bitmap.c +++ b/ewah/ewah_bitmap.c @@ -17,7 +17,6 @@ * along with this program; if not, see . */ #include "git-compat-util.h" -#include "alloc.h" #include "ewok.h" #include "ewok_rlw.h" diff --git a/fetch-pack.c b/fetch-pack.c index bb288d47f3..65c1ff4bb4 100644 --- a/fetch-pack.c +++ b/fetch-pack.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "repository.h" #include "config.h" #include "date.h" diff --git a/fmt-merge-msg.c b/fmt-merge-msg.c index 4239594ad8..66e47449a0 100644 --- a/fmt-merge-msg.c +++ b/fmt-merge-msg.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "config.h" #include "environment.h" #include "refs.h" diff --git a/fsck.c b/fsck.c index 3be86616c5..b160b6f9d0 100644 --- a/fsck.c +++ b/fsck.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "date.h" #include "dir.h" #include "hex.h" diff --git a/git-compat-util.h b/git-compat-util.h index 1832444fa2..d32aa754ae 100644 --- a/git-compat-util.h +++ b/git-compat-util.h @@ -1136,6 +1136,81 @@ static inline void move_array(void *dst, const void *src, size_t n, size_t size) #define FLEXPTR_ALLOC_STR(x, ptrname, str) \ FLEXPTR_ALLOC_MEM((x), ptrname, (str), strlen(str)) +#define alloc_nr(x) (((x)+16)*3/2) + +/** + * Dynamically growing an array using realloc() is error prone and boring. + * + * Define your array with: + * + * - a pointer (`item`) that points at the array, initialized to `NULL` + * (although please name the variable based on its contents, not on its + * type); + * + * - an integer variable (`alloc`) that keeps track of how big the current + * allocation is, initialized to `0`; + * + * - another integer variable (`nr`) to keep track of how many elements the + * array currently has, initialized to `0`. + * + * Then before adding `n`th element to the item, call `ALLOC_GROW(item, n, + * alloc)`. This ensures that the array can hold at least `n` elements by + * calling `realloc(3)` and adjusting `alloc` variable. + * + * ------------ + * sometype *item; + * size_t nr; + * size_t alloc + * + * for (i = 0; i < nr; i++) + * if (we like item[i] already) + * return; + * + * // we did not like any existing one, so add one + * ALLOC_GROW(item, nr + 1, alloc); + * item[nr++] = value you like; + * ------------ + * + * You are responsible for updating the `nr` variable. + * + * If you need to specify the number of elements to allocate explicitly + * then use the macro `REALLOC_ARRAY(item, alloc)` instead of `ALLOC_GROW`. + * + * Consider using ALLOC_GROW_BY instead of ALLOC_GROW as it has some + * added niceties. + * + * DO NOT USE any expression with side-effect for 'x', 'nr', or 'alloc'. + */ +#define ALLOC_GROW(x, nr, alloc) \ + do { \ + if ((nr) > alloc) { \ + if (alloc_nr(alloc) < (nr)) \ + alloc = (nr); \ + else \ + alloc = alloc_nr(alloc); \ + REALLOC_ARRAY(x, alloc); \ + } \ + } while (0) + +/* + * Similar to ALLOC_GROW but handles updating of the nr value and + * zeroing the bytes of the newly-grown array elements. + * + * DO NOT USE any expression with side-effect for any of the + * arguments. + */ +#define ALLOC_GROW_BY(x, nr, increase, alloc) \ + do { \ + if (increase) { \ + size_t new_nr = nr + (increase); \ + if (new_nr < nr) \ + BUG("negative growth in ALLOC_GROW_BY"); \ + ALLOC_GROW(x, new_nr, alloc); \ + memset((x) + nr, 0, sizeof(*(x)) * (increase)); \ + nr = new_nr; \ + } \ + } while (0) + static inline char *xstrdup_or_null(const char *str) { return str ? xstrdup(str) : NULL; diff --git a/help.c b/help.c index 389382b148..6d2ebfbd2a 100644 --- a/help.c +++ b/help.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "config.h" #include "builtin.h" #include "exec-cmd.h" diff --git a/http-backend.c b/http-backend.c index 25a19c21b9..e24399ed10 100644 --- a/http-backend.c +++ b/http-backend.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "config.h" #include "environment.h" #include "git-zlib.h" diff --git a/line-log.c b/line-log.c index 2eff914bf3..790ab73212 100644 --- a/line-log.c +++ b/line-log.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "line-range.h" #include "hex.h" #include "tag.h" diff --git a/list-objects-filter-options.c b/list-objects-filter-options.c index 2a3b7881af..8a08b7af49 100644 --- a/list-objects-filter-options.c +++ b/list-objects-filter-options.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "commit.h" #include "config.h" #include "gettext.h" diff --git a/list-objects-filter.c b/list-objects-filter.c index e075a66c99..9327ccd505 100644 --- a/list-objects-filter.c +++ b/list-objects-filter.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "dir.h" #include "gettext.h" #include "hex.h" diff --git a/midx.c b/midx.c index db459e448b..3a16acabbc 100644 --- a/midx.c +++ b/midx.c @@ -1,6 +1,5 @@ #include "git-compat-util.h" #include "abspath.h" -#include "alloc.h" #include "config.h" #include "csum-file.h" #include "dir.h" diff --git a/object-file.c b/object-file.c index 527b740018..5ebe1b00c5 100644 --- a/object-file.c +++ b/object-file.c @@ -8,7 +8,6 @@ */ #include "git-compat-util.h" #include "abspath.h" -#include "alloc.h" #include "config.h" #include "convert.h" #include "environment.h" diff --git a/oid-array.c b/oid-array.c index e8228c777b..8e4717746c 100644 --- a/oid-array.c +++ b/oid-array.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "oid-array.h" #include "hash-lookup.h" diff --git a/oidtree.c b/oidtree.c index 7d57b7b19e..daef175dc7 100644 --- a/oidtree.c +++ b/oidtree.c @@ -4,7 +4,6 @@ */ #include "git-compat-util.h" #include "oidtree.h" -#include "alloc.h" #include "hash.h" struct oidtree_iter_data { diff --git a/pack-bitmap-write.c b/pack-bitmap-write.c index d86f4e739a..f6757c3cbf 100644 --- a/pack-bitmap-write.c +++ b/pack-bitmap-write.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "environment.h" #include "gettext.h" #include "hex.h" diff --git a/pack-bitmap.c b/pack-bitmap.c index 7367f62bb6..01fbc0a657 100644 --- a/pack-bitmap.c +++ b/pack-bitmap.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "commit.h" #include "gettext.h" #include "hex.h" diff --git a/pack-objects.c b/pack-objects.c index ccab09fe65..1b8052bece 100644 --- a/pack-objects.c +++ b/pack-objects.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "object.h" #include "pack.h" #include "pack-objects.h" diff --git a/packfile.c b/packfile.c index 9126274b37..030b7ec7a8 100644 --- a/packfile.c +++ b/packfile.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "environment.h" #include "gettext.h" #include "hex.h" diff --git a/parallel-checkout.c b/parallel-checkout.c index 8637723461..b5a714c711 100644 --- a/parallel-checkout.c +++ b/parallel-checkout.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "config.h" #include "entry.h" #include "gettext.h" diff --git a/pretty.c b/pretty.c index 7862be105d..4df716686f 100644 --- a/pretty.c +++ b/pretty.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "config.h" #include "commit.h" #include "environment.h" diff --git a/prio-queue.c b/prio-queue.c index dc2476be53..450775a374 100644 --- a/prio-queue.c +++ b/prio-queue.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "prio-queue.h" static inline int compare(struct prio_queue *queue, int i, int j) diff --git a/quote.c b/quote.c index 43c739671e..3c05194496 100644 --- a/quote.c +++ b/quote.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "path.h" #include "quote.h" #include "strbuf.h" diff --git a/read-cache.c b/read-cache.c index 140b4f96a0..53d71134e2 100644 --- a/read-cache.c +++ b/read-cache.c @@ -4,7 +4,6 @@ * Copyright (C) Linus Torvalds, 2005 */ #include "git-compat-util.h" -#include "alloc.h" #include "bulk-checkin.h" #include "config.h" #include "date.h" diff --git a/ref-filter.c b/ref-filter.c index e0d03a9f8e..2ed0ecf260 100644 --- a/ref-filter.c +++ b/ref-filter.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "environment.h" #include "gettext.h" #include "gpg-interface.h" diff --git a/reflog-walk.c b/reflog-walk.c index d337e64431..d216f6f966 100644 --- a/reflog-walk.c +++ b/reflog-walk.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "commit.h" #include "refs.h" #include "diff.h" diff --git a/refs.c b/refs.c index d5e0184ca5..c1b3d1f13f 100644 --- a/refs.c +++ b/refs.c @@ -4,7 +4,6 @@ #include "git-compat-util.h" #include "advice.h" -#include "alloc.h" #include "config.h" #include "environment.h" #include "hashmap.h" diff --git a/refspec.c b/refspec.c index 57f6c2aaf9..d60932f4de 100644 --- a/refspec.c +++ b/refspec.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "gettext.h" #include "hash.h" #include "hex.h" diff --git a/remote-curl.c b/remote-curl.c index acf7b2bb40..8a976a0253 100644 --- a/remote-curl.c +++ b/remote-curl.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "config.h" #include "environment.h" #include "gettext.h" diff --git a/remote.c b/remote.c index 6e13993bdc..55e7d22a00 100644 --- a/remote.c +++ b/remote.c @@ -1,6 +1,5 @@ #include "git-compat-util.h" #include "abspath.h" -#include "alloc.h" #include "config.h" #include "environment.h" #include "gettext.h" diff --git a/rerere.c b/rerere.c index 4227c9612a..7070f75014 100644 --- a/rerere.c +++ b/rerere.c @@ -1,6 +1,5 @@ #include "git-compat-util.h" #include "abspath.h" -#include "alloc.h" #include "config.h" #include "copy.h" #include "gettext.h" diff --git a/revision.c b/revision.c index d66857ecc0..0976d41404 100644 --- a/revision.c +++ b/revision.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "config.h" #include "environment.h" #include "gettext.h" diff --git a/sequencer.c b/sequencer.c index 993dd8efbc..cc9821ece2 100644 --- a/sequencer.c +++ b/sequencer.c @@ -1,7 +1,6 @@ #include "git-compat-util.h" #include "abspath.h" #include "advice.h" -#include "alloc.h" #include "config.h" #include "copy.h" #include "environment.h" diff --git a/server-info.c b/server-info.c index f350713ecf..e2fe0f9143 100644 --- a/server-info.c +++ b/server-info.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "dir.h" #include "environment.h" #include "hex.h" diff --git a/shallow.c b/shallow.c index 2fad3504b7..5413719fd4 100644 --- a/shallow.c +++ b/shallow.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "hex.h" #include "repository.h" #include "tempfile.h" diff --git a/sigchain.c b/sigchain.c index ee778c0580..66123bdbab 100644 --- a/sigchain.c +++ b/sigchain.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "sigchain.h" #define SIGCHAIN_MAX_SIGNALS 32 diff --git a/sparse-index.c b/sparse-index.c index 90d0462256..1fdb07a9e6 100644 --- a/sparse-index.c +++ b/sparse-index.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "environment.h" #include "gettext.h" #include "name-hash.h" diff --git a/split-index.c b/split-index.c index 0ee3865a55..8c38687c04 100644 --- a/split-index.c +++ b/split-index.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "gettext.h" #include "hash.h" #include "mem-pool.h" diff --git a/strbuf.c b/strbuf.c index ab8e52e9b4..f65d7bee4c 100644 --- a/strbuf.c +++ b/strbuf.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "gettext.h" #include "hex.h" #include "strbuf.h" diff --git a/string-list.c b/string-list.c index 0f8ac117fd..954569f381 100644 --- a/string-list.c +++ b/string-list.c @@ -1,6 +1,5 @@ #include "git-compat-util.h" #include "string-list.h" -#include "alloc.h" void string_list_init_nodup(struct string_list *list) { diff --git a/strvec.c b/strvec.c index 17d54b6c3b..89dc9e7e75 100644 --- a/strvec.c +++ b/strvec.c @@ -1,6 +1,5 @@ #include "git-compat-util.h" #include "strvec.h" -#include "alloc.h" #include "hex.h" #include "strbuf.h" diff --git a/submodule-config.c b/submodule-config.c index b6908e295f..6a48fd12f6 100644 --- a/submodule-config.c +++ b/submodule-config.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "dir.h" #include "environment.h" #include "gettext.h" diff --git a/submodule.c b/submodule.c index f0f8788d2e..e603a19a87 100644 --- a/submodule.c +++ b/submodule.c @@ -1,6 +1,5 @@ #include "git-compat-util.h" #include "abspath.h" -#include "alloc.h" #include "repository.h" #include "config.h" #include "submodule-config.h" diff --git a/t/helper/test-reach.c b/t/helper/test-reach.c index 5b6f217441..119f4908cf 100644 --- a/t/helper/test-reach.c +++ b/t/helper/test-reach.c @@ -1,5 +1,4 @@ #include "test-tool.h" -#include "alloc.h" #include "commit.h" #include "commit-reach.h" #include "config.h" diff --git a/trace2/tr2_tls.c b/trace2/tr2_tls.c index 9f46ae12f5..601c9e5036 100644 --- a/trace2/tr2_tls.c +++ b/trace2/tr2_tls.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "thread-utils.h" #include "trace.h" #include "trace2/tr2_tls.h" diff --git a/trailer.c b/trailer.c index 06dc0b7f68..f408f9b058 100644 --- a/trailer.c +++ b/trailer.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "config.h" #include "environment.h" #include "gettext.h" diff --git a/transport.c b/transport.c index 0a5794a944..219af8fd50 100644 --- a/transport.c +++ b/transport.c @@ -1,6 +1,5 @@ #include "git-compat-util.h" #include "advice.h" -#include "alloc.h" #include "config.h" #include "environment.h" #include "hex.h" diff --git a/tree-walk.c b/tree-walk.c index 42ed86ef58..6c07913f3f 100644 --- a/tree-walk.c +++ b/tree-walk.c @@ -1,6 +1,5 @@ #include "git-compat-util.h" #include "tree-walk.h" -#include "alloc.h" #include "dir.h" #include "gettext.h" #include "hex.h" diff --git a/userdiff.c b/userdiff.c index 664c7c1402..e399543823 100644 --- a/userdiff.c +++ b/userdiff.c @@ -1,5 +1,4 @@ #include "git-compat-util.h" -#include "alloc.h" #include "config.h" #include "userdiff.h" #include "attr.h" diff --git a/worktree.c b/worktree.c index 2ea5d45e1e..b8cf29e6a1 100644 --- a/worktree.c +++ b/worktree.c @@ -1,6 +1,5 @@ #include "git-compat-util.h" #include "abspath.h" -#include "alloc.h" #include "environment.h" #include "gettext.h" #include "path.h"