git/builtin
Patrick Steinhardt 3217f52a49 cat-file: simplify reading from standard input
The batch modes of git-cat-file(1) read queries from stantard input that
are either newline- or NUL-delimited. This code was introduced via
db9d67f2e9 (builtin/cat-file.c: support NUL-delimited input with `-z`,
2022-07-22), which notes that:

"""
The refactoring here is slightly unfortunate, since we turn loops like:

     while (strbuf_getline(&buf, stdin) != EOF)

 into:

     while (1) {
         int ret;
         if (opt->nul_terminated)
             ret = strbuf_getline_nul(&input, stdin);
         else
             ret = strbuf_getline(&input, stdin);

         if (ret == EOF)
             break;
     }
"""

The commit proposed introducing a helper function that is easier to use,
which is just what we have done in the preceding commit. Refactor the
code to use this new helper to simplify the loop.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2023-06-12 13:23:24 -07:00
..
add.c editor: move editor-related functions and declarations into common file 2023-04-11 08:52:10 -07:00
am.c pager.h: move declarations for pager.c functions from cache.h 2023-04-11 08:52:10 -07:00
annotate.c strvec: rename struct fields 2020-07-30 19:18:06 -07:00
apply.c hash-ll.h: split out of hash.h to remove dependency on repository.h 2023-04-24 12:47:32 -07:00
archive.c hash-ll.h: split out of hash.h to remove dependency on repository.h 2023-04-24 12:47:32 -07:00
bisect.c copy.h: move declarations for copy.c functions from cache.h 2023-04-24 12:47:31 -07:00
blame.c pager.h: move declarations for pager.c functions from cache.h 2023-04-11 08:52:10 -07:00
branch.c Merge branch 'rj/branch-unborn-in-other-worktrees' 2023-05-15 13:59:03 -07:00
bugreport.c editor: move editor-related functions and declarations into common file 2023-04-11 08:52:10 -07:00
bundle.c hash-ll.h: split out of hash.h to remove dependency on repository.h 2023-04-24 12:47:32 -07:00
cat-file.c cat-file: simplify reading from standard input 2023-06-12 13:23:24 -07:00
check-attr.c Merge branch 'jc/attr-source-tree' 2023-05-17 10:11:41 -07:00
check-ignore.c hash-ll.h: split out of hash.h to remove dependency on repository.h 2023-04-24 12:47:32 -07:00
check-mailmap.c write-or-die.h: move declarations for write-or-die.c functions from cache.h 2023-03-21 10:56:54 -07:00
check-ref-format.c Merge branch 'en/header-split-cleanup' 2023-04-06 13:38:31 -07:00
checkout--worker.c treewide: be explicit about dependence on gettext.h 2023-03-21 10:56:51 -07:00
checkout-index.c hash-ll.h: split out of hash.h to remove dependency on repository.h 2023-04-24 12:47:32 -07:00
checkout.c symlinks.h: move declarations for symlinks.c functions from cache.h 2023-04-24 12:47:31 -07:00
clean.c hash-ll.h: split out of hash.h to remove dependency on repository.h 2023-04-24 12:47:32 -07:00
clone.c Merge branch 'en/header-split-cache-h-part-2' 2023-05-09 16:45:46 -07:00
column.c treewide: be explicit about dependence on gettext.h 2023-03-21 10:56:51 -07:00
commit-graph.c treewide: be explicit about dependence on trace.h & trace2.h 2023-04-11 08:52:08 -07:00
commit-tree.c object-name.h: move declarations for object-name.c functions from cache.h 2023-04-11 08:52:09 -07:00
commit.c editor: move editor-related functions and declarations into common file 2023-04-11 08:52:10 -07:00
config.c hash-ll.h: split out of hash.h to remove dependency on repository.h 2023-04-24 12:47:32 -07:00
count-objects.c environment.h: move declarations for environment.c functions from cache.h 2023-03-21 10:56:53 -07:00
credential-cache--daemon.c Merge branch 'mh/credential-oauth-refresh-token' 2023-05-10 10:23:29 -07:00
credential-cache.c hash-ll.h: split out of hash.h to remove dependency on repository.h 2023-04-24 12:47:32 -07:00
credential-store.c hash-ll.h: split out of hash.h to remove dependency on repository.h 2023-04-24 12:47:32 -07:00
credential.c builtins: mark unused prefix parameters 2023-03-28 14:11:24 -07:00
describe.c Merge branch 'en/header-split-cache-h' 2023-04-25 13:56:20 -07:00
diagnose.c object-file.h: move declarations for object-file.c functions from cache.h 2023-04-11 08:52:10 -07:00
diff-files.c diff-files: integrate with sparse index 2023-05-09 14:26:36 -07:00
diff-index.c setup.h: move declarations for setup.c functions from cache.h 2023-03-21 10:56:54 -07:00
diff-tree.c commit.h: reduce unnecessary includes 2023-04-24 12:47:33 -07:00
diff.c Merge branch 'en/header-split-cache-h-part-2' 2023-05-09 16:45:46 -07:00
difftool.c Merge branch 'en/header-split-cache-h-part-2' 2023-05-09 16:45:46 -07:00
fast-export.c Merge branch 'en/header-split-cache-h' 2023-04-25 13:56:20 -07:00
fast-import.c Merge branch 'en/header-split-cache-h' 2023-04-25 13:56:20 -07:00
fetch-pack.c Merge branch 'en/header-split-cache-h' 2023-04-25 13:56:20 -07:00
fetch.c Merge branch 'ps/fetch-output-format' 2023-05-15 13:59:07 -07:00
fmt-merge-msg.c wrapper.h: move declarations for wrapper.c functions from cache.h 2023-03-21 10:56:53 -07:00
for-each-ref.c Merge branch 'ow/ref-filter-omit-empty' 2023-04-21 15:35:05 -07:00
for-each-repo.c Merge branch 'en/header-split-cache-h-part-2' 2023-05-09 16:45:46 -07:00
fsck.c fsck: use local repository 2023-05-02 08:48:23 -07:00
fsmonitor--daemon.c Merge branch 'en/header-split-cache-h' 2023-04-25 13:56:20 -07:00
gc.c Merge branch 'en/header-split-cache-h-part-2' 2023-05-09 16:45:46 -07:00
get-tar-commit-id.c Merge branch 'rs/get-tar-commit-id-use-defined-const' 2023-04-20 14:33:36 -07:00
grep.c pager.h: move declarations for pager.c functions from cache.h 2023-04-11 08:52:10 -07:00
hash-object.c object-file.h: move declarations for object-file.c functions from cache.h 2023-04-11 08:52:10 -07:00
help.c hash-ll.h: split out of hash.h to remove dependency on repository.h 2023-04-24 12:47:32 -07:00
hook.c treewide: be explicit about dependence on gettext.h 2023-03-21 10:56:51 -07:00
index-pack.c Merge branch 'tb/pack-revindex-on-disk' 2023-04-27 16:00:59 -07:00
init-db.c hash-ll.h: split out of hash.h to remove dependency on repository.h 2023-04-24 12:47:32 -07:00
interpret-trailers.c treewide: be explicit about dependence on gettext.h 2023-03-21 10:56:51 -07:00
log.c Merge branch 'en/header-split-cache-h-part-2' 2023-05-09 16:45:46 -07:00
ls-files.c Merge branch 'en/header-split-cache-h' 2023-04-25 13:56:20 -07:00
ls-remote.c Merge branch 'en/header-split-cache-h-part-2' 2023-05-09 16:45:46 -07:00
ls-tree.c object-name.h: move declarations for object-name.c functions from cache.h 2023-04-11 08:52:09 -07:00
mailinfo.c environment.h: move declarations for environment.c functions from cache.h 2023-03-21 10:56:53 -07:00
mailsplit.c Merge branch 'en/header-split-cleanup' 2023-04-06 13:38:31 -07:00
merge-base.c object-name.h: move declarations for object-name.c functions from cache.h 2023-04-11 08:52:09 -07:00
merge-file.c setup.h: move declarations for setup.c functions from cache.h 2023-03-21 10:56:54 -07:00
merge-index.c Merge branch 'en/header-split-cache-h-part-2' 2023-05-09 16:45:46 -07:00
merge-ours.c builtins: mark unused prefix parameters 2023-03-28 14:11:24 -07:00
merge-recursive.c Merge branch 'en/header-split-cache-h-part-2' 2023-05-09 16:45:46 -07:00
merge-tree.c Merge branch 'ds/merge-tree-use-config' 2023-05-15 13:59:06 -07:00
merge.c editor: move editor-related functions and declarations into common file 2023-04-11 08:52:10 -07:00
mktag.c Merge branch 'en/header-split-cache-h' 2023-04-25 13:56:20 -07:00
mktree.c treewide: be explicit about dependence on gettext.h 2023-03-21 10:56:51 -07:00
multi-pack-index.c environment.h: move declarations for environment.c functions from cache.h 2023-03-21 10:56:53 -07:00
mv.c hash-ll.h: split out of hash.h to remove dependency on repository.h 2023-04-24 12:47:32 -07:00
name-rev.c name-rev: make --stdin hidden 2023-05-06 14:32:20 -07:00
notes.c editor: move editor-related functions and declarations into common file 2023-04-11 08:52:10 -07:00
pack-objects.c attr: teach "--attr-source=<tree>" global option to "git" 2023-05-06 14:34:09 -07:00
pack-redundant.c Merge branch 'en/header-split-cleanup' 2023-04-06 13:38:31 -07:00
pack-refs.c treewide: be explicit about dependence on gettext.h 2023-03-21 10:56:51 -07:00
patch-id.c treewide: be explicit about dependence on gettext.h 2023-03-21 10:56:51 -07:00
prune-packed.c treewide: be explicit about dependence on gettext.h 2023-03-21 10:56:51 -07:00
prune.c object-file.h: move declarations for object-file.c functions from cache.h 2023-04-11 08:52:10 -07:00
pull.c Merge branch 'ob/messages-capitalize-exception' 2023-05-09 16:45:46 -07:00
push.c Merge branch 'tl/push-branches-is-an-alias-for-all' 2023-05-15 13:59:05 -07:00
range-diff.c object-name.h: move declarations for object-name.c functions from cache.h 2023-04-11 08:52:09 -07:00
read-tree.c hash-ll.h: split out of hash.h to remove dependency on repository.h 2023-04-24 12:47:32 -07:00
rebase.c Merge branch 'en/header-split-cache-h' 2023-04-25 13:56:20 -07:00
receive-pack.c Merge branch 'en/header-split-cache-h-part-2' 2023-05-09 16:45:46 -07:00
reflog.c Merge branch 'en/header-split-cleanup' 2023-04-06 13:38:31 -07:00
remote-ext.c builtins: annotate always-empty prefix parameters 2023-03-28 14:11:24 -07:00
remote-fd.c builtins: annotate always-empty prefix parameters 2023-03-28 14:11:24 -07:00
remote.c Merge branch 'en/header-split-cleanup' 2023-04-06 13:38:31 -07:00
repack.c Merge branch 'en/header-split-cache-h-part-2' 2023-05-09 16:45:46 -07:00
replace.c editor: move editor-related functions and declarations into common file 2023-04-11 08:52:10 -07:00
rerere.c hash-ll.h: split out of hash.h to remove dependency on repository.h 2023-04-24 12:47:32 -07:00
reset.c object-name.h: move declarations for object-name.c functions from cache.h 2023-04-11 08:52:09 -07:00
rev-list.c object-file.h: move declarations for object-file.c functions from cache.h 2023-04-11 08:52:10 -07:00
rev-parse.c object-name.h: move declarations for object-name.c functions from cache.h 2023-04-11 08:52:09 -07:00
revert.c Merge branch 'pw/rebase-cleanup-merge-strategy-option-handling' 2023-04-17 18:05:13 -07:00
rm.c hash-ll.h: split out of hash.h to remove dependency on repository.h 2023-04-24 12:47:32 -07:00
send-pack.c Merge branch 'en/header-split-cleanup' 2023-04-06 13:38:31 -07:00
shortlog.c Merge branch 'en/header-split-cleanup' 2023-04-06 13:38:31 -07:00
show-branch.c hash-ll.h: split out of hash.h to remove dependency on repository.h 2023-04-24 12:47:32 -07:00
show-index.c hash-ll.h: split out of hash.h to remove dependency on repository.h 2023-04-24 12:47:32 -07:00
show-ref.c object-name.h: move declarations for object-name.c functions from cache.h 2023-04-11 08:52:09 -07:00
sparse-checkout.c Merge branch 'en/header-split-cache-h' 2023-04-25 13:56:20 -07:00
stash.c Merge branch 'en/header-split-cache-h' 2023-04-25 13:56:20 -07:00
stripspace.c write-or-die.h: move declarations for write-or-die.c functions from cache.h 2023-03-21 10:56:54 -07:00
submodule--helper.c Merge branch 'en/header-split-cache-h' 2023-04-25 13:56:20 -07:00
symbolic-ref.c treewide: be explicit about dependence on gettext.h 2023-03-21 10:56:51 -07:00
tag.c Merge branch 'en/header-split-cache-h' 2023-04-25 13:56:20 -07:00
unpack-file.c Merge branch 'en/header-split-cache-h' 2023-04-25 13:56:20 -07:00
unpack-objects.c Merge branch 'en/header-split-cache-h' 2023-04-25 13:56:20 -07:00
update-index.c hash-ll.h: split out of hash.h to remove dependency on repository.h 2023-04-24 12:47:32 -07:00
update-ref.c hash-ll.h: split out of hash.h to remove dependency on repository.h 2023-04-24 12:47:32 -07:00
update-server-info.c server-info.h: move declarations for server-info.c functions from cache.h 2023-04-24 12:47:31 -07:00
upload-archive.c Merge branch 'en/header-split-cache-h-part-2' 2023-05-09 16:45:46 -07:00
upload-pack.c treewide: be explicit about dependence on gettext.h 2023-03-21 10:56:51 -07:00
var.c Merge branch 'en/header-split-cache-h' 2023-04-25 13:56:20 -07:00
verify-commit.c object-name.h: move declarations for object-name.c functions from cache.h 2023-04-11 08:52:09 -07:00
verify-pack.c treewide: be explicit about dependence on gettext.h 2023-03-21 10:56:51 -07:00
verify-tag.c object-name.h: move declarations for object-name.c functions from cache.h 2023-04-11 08:52:09 -07:00
worktree.c Merge branch 'en/header-split-cache-h-part-2' 2023-05-09 16:45:46 -07:00
write-tree.c Merge branch 'en/header-split-cache-h-part-2' 2023-05-09 16:45:46 -07:00