Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/usr.bin/indent indent: merge duplicate code for reading from...



details:   https://anonhg.NetBSD.org/src/rev/a9a4f1cfabfb
branches:  trunk
changeset: 1023950:a9a4f1cfabfb
user:      rillig <rillig%NetBSD.org@localhost>
date:      Tue Oct 05 05:39:14 2021 +0000

description:
indent: merge duplicate code for reading from input buffer

No functional change.

diffstat:

 usr.bin/indent/indent.c     |  36 ++++++++++++------------------------
 usr.bin/indent/indent.h     |   4 +++-
 usr.bin/indent/lexi.c       |  10 +++++-----
 usr.bin/indent/pr_comment.c |  27 ++++++++++-----------------
 4 files changed, 30 insertions(+), 47 deletions(-)

diffs (227 lines):

diff -r 1fffd2dafd04 -r a9a4f1cfabfb usr.bin/indent/indent.c
--- a/usr.bin/indent/indent.c   Tue Oct 05 04:17:58 2021 +0000
+++ b/usr.bin/indent/indent.c   Tue Oct 05 05:39:14 2021 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: indent.c,v 1.98 2021/10/03 18:44:51 rillig Exp $       */
+/*     $NetBSD: indent.c,v 1.99 2021/10/05 05:39:14 rillig Exp $       */
 
 /*-
  * SPDX-License-Identifier: BSD-4-Clause
@@ -43,7 +43,7 @@
 
 #include <sys/cdefs.h>
 #if defined(__NetBSD__)
-__RCSID("$NetBSD: indent.c,v 1.98 2021/10/03 18:44:51 rillig Exp $");
+__RCSID("$NetBSD: indent.c,v 1.99 2021/10/05 05:39:14 rillig Exp $");
 #elif defined(__FreeBSD__)
 __FBSDID("$FreeBSD: head/usr.bin/indent/indent.c 340138 2018-11-04 19:24:49Z oshogbo $");
 #endif
@@ -199,9 +199,7 @@
     *sc_end++ = '/';           /* copy in start of comment */
     *sc_end++ = '*';
     for (;;) {                 /* loop until the end of the comment */
-       *sc_end = *buf_ptr++;
-       if (buf_ptr >= buf_end)
-           fill_buffer();
+       *sc_end = inbuf_next();
        if (*sc_end++ == '*' && *buf_ptr == '/')
            break;              /* we are at end of comment */
        if (sc_end >= &save_com[sc_size]) {     /* check for temp buffer
@@ -212,8 +210,7 @@
        }
     }
     *sc_end++ = '/';           /* add ending slash */
-    if (++buf_ptr >= buf_end)  /* get past / in buffer */
-       fill_buffer();
+    inbuf_skip();              /* get past / in buffer */
 }
 
 static bool
@@ -232,8 +229,7 @@
         * resulting from the "{" before, it must be scanned now and ignored.
         */
        while (isspace((unsigned char)*buf_ptr)) {
-           if (++buf_ptr >= buf_end)
-               fill_buffer();
+           inbuf_skip();
            if (*buf_ptr == '\n')
                break;
        }
@@ -334,9 +330,8 @@
                    errx(1, "input too long");
                }
            }
-           if (buf_ptr >= buf_end) {
+           if (buf_ptr >= buf_end)
                fill_buffer();
-           }
        }
 
        struct parser_state transient_state;
@@ -1109,23 +1104,16 @@
        char quote = '\0';
        int com_end = 0;
 
-       while (*buf_ptr == ' ' || *buf_ptr == '\t') {
-           buf_ptr++;
-           if (buf_ptr >= buf_end)
-               fill_buffer();
-       }
+       while (*buf_ptr == ' ' || *buf_ptr == '\t')
+           inbuf_skip();
+
        while (*buf_ptr != '\n' || (in_comment && !had_eof)) {
            check_size_label(2);
-           *lab.e = *buf_ptr++;
-           if (buf_ptr >= buf_end)
-               fill_buffer();
+           *lab.e = inbuf_next();
            switch (*lab.e++) {
            case '\\':
-               if (!in_comment) {
-                   *lab.e++ = *buf_ptr++;
-                   if (buf_ptr >= buf_end)
-                       fill_buffer();
-               }
+               if (!in_comment)
+                   *lab.e++ = inbuf_next();
                break;
            case '/':
                if (*buf_ptr == '*' && !in_comment && quote == '\0') {
diff -r 1fffd2dafd04 -r a9a4f1cfabfb usr.bin/indent/indent.h
--- a/usr.bin/indent/indent.h   Tue Oct 05 04:17:58 2021 +0000
+++ b/usr.bin/indent/indent.h   Tue Oct 05 05:39:14 2021 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: indent.h,v 1.27 2021/10/03 18:44:51 rillig Exp $       */
+/*     $NetBSD: indent.h,v 1.28 2021/10/05 05:39:14 rillig Exp $       */
 
 /*-
  * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
@@ -57,6 +57,8 @@
 #define                debug_println(fmt, ...) do { } while (false)
 #define                debug_vis_range(prefix, s, e, suffix) do { } while (false)
 #endif
+void           inbuf_skip(void);
+char           inbuf_next(void);
 token_type     lexi(struct parser_state *);
 void           diag(int, const char *, ...) __printflike(2, 3);
 void           dump_line(void);
diff -r 1fffd2dafd04 -r a9a4f1cfabfb usr.bin/indent/lexi.c
--- a/usr.bin/indent/lexi.c     Tue Oct 05 04:17:58 2021 +0000
+++ b/usr.bin/indent/lexi.c     Tue Oct 05 05:39:14 2021 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: lexi.c,v 1.65 2021/10/03 20:35:59 rillig Exp $ */
+/*     $NetBSD: lexi.c,v 1.66 2021/10/05 05:39:14 rillig Exp $ */
 
 /*-
  * SPDX-License-Identifier: BSD-4-Clause
@@ -43,7 +43,7 @@
 
 #include <sys/cdefs.h>
 #if defined(__NetBSD__)
-__RCSID("$NetBSD: lexi.c,v 1.65 2021/10/03 20:35:59 rillig Exp $");
+__RCSID("$NetBSD: lexi.c,v 1.66 2021/10/05 05:39:14 rillig Exp $");
 #elif defined(__FreeBSD__)
 __FBSDID("$FreeBSD: head/usr.bin/indent/lexi.c 337862 2018-08-15 18:19:45Z pstef $");
 #endif
@@ -180,7 +180,7 @@
     return *buf_ptr;
 }
 
-static void
+void
 inbuf_skip(void)
 {
     buf_ptr++;
@@ -188,7 +188,7 @@
        fill_buffer();
 }
 
-static char
+char
 inbuf_next(void)
 {
     char ch = inbuf_peek();
@@ -392,7 +392,7 @@
            return lexi_end(string_prefix);
 
        while (*buf_ptr == ' ' || *buf_ptr == '\t')     /* get rid of blanks */
-           inbuf_next();
+           inbuf_skip();
        state->keyword = kw_0;
 
        if (state->last_token == keyword_struct_union_enum &&
diff -r 1fffd2dafd04 -r a9a4f1cfabfb usr.bin/indent/pr_comment.c
--- a/usr.bin/indent/pr_comment.c       Tue Oct 05 04:17:58 2021 +0000
+++ b/usr.bin/indent/pr_comment.c       Tue Oct 05 05:39:14 2021 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: pr_comment.c,v 1.47 2021/09/26 19:37:11 rillig Exp $   */
+/*     $NetBSD: pr_comment.c,v 1.48 2021/10/05 05:39:14 rillig Exp $   */
 
 /*-
  * SPDX-License-Identifier: BSD-4-Clause
@@ -43,7 +43,7 @@
 
 #include <sys/cdefs.h>
 #if defined(__NetBSD__)
-__RCSID("$NetBSD: pr_comment.c,v 1.47 2021/09/26 19:37:11 rillig Exp $");
+__RCSID("$NetBSD: pr_comment.c,v 1.48 2021/10/05 05:39:14 rillig Exp $");
 #elif defined(__FreeBSD__)
 __FBSDID("$FreeBSD: head/usr.bin/indent/pr_comment.c 334927 2018-06-10 16:44:18Z pstef $");
 #endif
@@ -219,8 +219,7 @@
                while (*++buf_ptr == ' ' || *buf_ptr == '\t')
                    ;
            } else {
-               if (++buf_ptr >= buf_end)
-                   fill_buffer();
+               inbuf_skip();
                *com.e++ = 014;
            }
            break;
@@ -260,28 +259,24 @@
                int nstar = 1;
                do {            /* flush any blanks and/or tabs at start of
                                 * next line */
-                   if (++buf_ptr >= buf_end)
-                       fill_buffer();
+                   inbuf_skip();
                    if (*buf_ptr == '*' && --nstar >= 0) {
-                       if (++buf_ptr >= buf_end)
-                           fill_buffer();
+                       inbuf_skip();
                        if (*buf_ptr == '/')
                            goto end_of_comment;
                    }
                } while (*buf_ptr == ' ' || *buf_ptr == '\t');
-           } else if (++buf_ptr >= buf_end)
-               fill_buffer();
+           } else
+               inbuf_skip();
            break;              /* end of case for newline */
 
        case '*':               /* must check for possibility of being at end
                                 * of comment */
-           if (++buf_ptr >= buf_end)   /* get to next char after * */
-               fill_buffer();
+           inbuf_skip();
            check_size_comment(4);
            if (*buf_ptr == '/') {      /* it is the end!!! */
        end_of_comment:
-               if (++buf_ptr >= buf_end)
-                   fill_buffer();
+               inbuf_skip();
                if (break_delim) {
                    if (com.e > com.s + 3)
                        dump_line();
@@ -305,9 +300,7 @@
            int now_len = indentation_after_range(ps.com_col - 1, com.s, com.e);
            do {
                check_size_comment(1);
-               *com.e = *buf_ptr++;
-               if (buf_ptr >= buf_end)
-                   fill_buffer();
+               *com.e = inbuf_next();
                if (*com.e == ' ' || *com.e == '\t')
                    last_blank = com.e - com.buf;       /* remember we saw a
                                                         * blank */



Home | Main Index | Thread Index | Old Index