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: replace column computation with inden...



details:   https://anonhg.NetBSD.org/src/rev/0752fb361e53
branches:  trunk
changeset: 1019515:0752fb361e53
user:      rillig <rillig%NetBSD.org@localhost>
date:      Sat Mar 13 10:20:54 2021 +0000

description:
indent: replace column computation with indentation computation

No functional change.

diffstat:

 usr.bin/indent/indent.h |   6 +++-
 usr.bin/indent/io.c     |  60 ++++++++++++++++++++++--------------------------
 2 files changed, 32 insertions(+), 34 deletions(-)

diffs (114 lines):

diff -r 5d9eb14b1416 -r 0752fb361e53 usr.bin/indent/indent.h
--- a/usr.bin/indent/indent.h   Sat Mar 13 10:06:47 2021 +0000
+++ b/usr.bin/indent/indent.h   Sat Mar 13 10:20:54 2021 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: indent.h,v 1.11 2021/03/13 10:06:47 rillig Exp $       */
+/*     $NetBSD: indent.h,v 1.12 2021/03/13 10:20:54 rillig Exp $       */
 
 /*-
  * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
@@ -30,7 +30,7 @@
 
 #if 0
 #if defined(__NetBSD__)
-__RCSID("$NetBSD: indent.h,v 1.11 2021/03/13 10:06:47 rillig Exp $");
+__RCSID("$NetBSD: indent.h,v 1.12 2021/03/13 10:20:54 rillig Exp $");
 #elif defined(__FreeBSD__)
 __FBSDID("$FreeBSD: head/usr.bin/indent/indent.h 336333 2018-07-16 05:46:50Z pstef $");
 #endif
@@ -49,6 +49,8 @@
 int    compute_label_indent(void);
 int    count_spaces(int, const char *);
 int    count_spaces_until(int, const char *, const char *);
+int    indentation_after_range(int, const char *, const char *);
+int    indentation_after(int, const char *);
 void   init_constant_tt(void);
 #ifdef debug
 void   debug_vis_range(const char *, const char *, const char *, const char *);
diff -r 5d9eb14b1416 -r 0752fb361e53 usr.bin/indent/io.c
--- a/usr.bin/indent/io.c       Sat Mar 13 10:06:47 2021 +0000
+++ b/usr.bin/indent/io.c       Sat Mar 13 10:20:54 2021 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: io.c,v 1.39 2021/03/13 10:06:47 rillig Exp $   */
+/*     $NetBSD: io.c,v 1.40 2021/03/13 10:20:54 rillig Exp $   */
 
 /*-
  * SPDX-License-Identifier: BSD-4-Clause
@@ -46,7 +46,7 @@
 #include <sys/cdefs.h>
 #ifndef lint
 #if defined(__NetBSD__)
-__RCSID("$NetBSD: io.c,v 1.39 2021/03/13 10:06:47 rillig Exp $");
+__RCSID("$NetBSD: io.c,v 1.40 2021/03/13 10:20:54 rillig Exp $");
 #elif defined(__FreeBSD__)
 __FBSDID("$FreeBSD: head/usr.bin/indent/io.c 334927 2018-06-10 16:44:18Z pstef $");
 #endif
@@ -425,42 +425,38 @@
     }
 }
 
-/*
- * Copyright (C) 1976 by the Board of Trustees of the University of Illinois
- *
- * All rights reserved
- */
 int
-count_spaces_until(int col, const char *buffer, const char *end)
+indentation_after_range(int ind, const char *start, const char *end)
 {
-    for (const char *p = buffer; *p != '\0' && p != end; ++p) {
-       switch (*p) {
-
-       case '\n':
-       case 014:               /* form feed */
-           col = 1;
-           break;
-
-       case '\t':
-           col = 1 + opt.tabsize * ((col - 1) / opt.tabsize + 1);
-           break;
-
-       case 010:               /* backspace */
-           --col;
-           break;
-
-       default:
-           ++col;
-           break;
-       }                       /* end of switch */
-    }                          /* end of for loop */
-    return col;
+    for (const char *p = start; *p != '\0' && p != end; ++p) {
+       if (*p == '\n' || *p == '\f')
+           ind = 0;
+       else if (*p == '\t')
+           ind = opt.tabsize * (ind / opt.tabsize + 1);
+       else if (*p == '\b')
+           --ind;
+       else
+           ++ind;
+    }
+    return ind;
 }
 
 int
-count_spaces(int col, const char *buffer)
+indentation_after(int ind, const char *s)
+{
+    return indentation_after_range(ind, s, NULL);
+}
+
+int
+count_spaces_until(int col, const char *s, const char *e)
 {
-    return count_spaces_until(col, buffer, NULL);
+    return 1 + indentation_after_range(col - 1, s, e);
+}
+
+int
+count_spaces(int col, const char *s)
+{
+    return 1 + indentation_after(col - 1, s);
 }
 
 void



Home | Main Index | Thread Index | Old Index