]> git.ipfire.org Git - thirdparty/git.git/commitdiff
revision: small readability improvement for reading from stdin
authorPatrick Steinhardt <ps@pks.im>
Thu, 15 Jun 2023 14:39:55 +0000 (16:39 +0200)
committerJunio C Hamano <gitster@pobox.com>
Thu, 15 Jun 2023 19:09:31 +0000 (12:09 -0700)
The code that reads lines from standard input manually compares whether
the read line matches "--", which is a bit awkward to read. Furthermore,
we're about to extend the code to also support reading pseudo-options
via standard input, requiring more elaborate handling of lines with a
leading dash.

Refactor the code by hoisting out the check for "--" outside of the
block that checks for a leading dash.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
revision.c

index cc22ccd76ee1f38e07eea59e4747e9a90fc6c017..3a39f41bb882a461af8f999fdae71d88348e20e5 100644 (file)
@@ -2795,16 +2795,17 @@ static void read_revisions_from_stdin(struct rev_info *revs,
 
        strbuf_init(&sb, 1000);
        while (strbuf_getline(&sb, stdin) != EOF) {
-               int len = sb.len;
-               if (!len)
+               if (!sb.len)
+                       break;
+
+               if (!strcmp(sb.buf, "--")) {
+                       seen_dashdash = 1;
                        break;
-               if (sb.buf[0] == '-') {
-                       if (len == 2 && sb.buf[1] == '-') {
-                               seen_dashdash = 1;
-                               break;
-                       }
-                       die("options not supported in --stdin mode");
                }
+
+               if (sb.buf[0] == '-')
+                       die("options not supported in --stdin mode");
+
                if (handle_revision_arg(sb.buf, revs, 0,
                                        REVARG_CANNOT_BE_FILENAME))
                        die("bad revision '%s'", sb.buf);