Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 8 Nov 2007 01:10:09 +0100
From:      Hans Petter Selasky <hselasky@c2i.net>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   Re: PERFORCE change 128799 for review
Message-ID:  <200711080110.10220.hselasky@c2i.net>
In-Reply-To: <200711080007.lA8078QD059198@repoman.freebsd.org>
References:  <200711080007.lA8078QD059198@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
--Boundary-00=_iPlMHLc56jZWWCA
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


FYI.

My indent.diff is attached.

--HPS

On Thursday 08 November 2007, Hans Petter Selasky wrote:
> http://perforce.freebsd.org/chv.cgi?CH=128799
>
> Change 128799 by hselasky@hselasky_laptop001 on 2007/11/08 00:06:35
>
>
> 	Put the USB style script into the P4 tree.
>
> Affected files ...
>
> .. //depot/projects/usb/src/sys/dev/usb/usb_style.sh#1 add
>
> Differences ...


--Boundary-00=_iPlMHLc56jZWWCA
Content-Type: text/x-diff;
  charset="iso-8859-1";
  name="indent.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="indent.diff"

diff -u -r indent.orig/args.c indent/args.c
--- indent.orig/args.c	Mon Nov  5 21:43:24 2007
+++ indent/args.c	Mon Nov  5 22:16:48 2007
@@ -157,6 +157,7 @@
     {"sc", PRO_BOOL, true, ON, &star_comment_cont},
     {"sob", PRO_BOOL, false, ON, &swallow_optional_blanklines},
     {"st", PRO_SPECIAL, 0, STDIN, 0},
+    {"ta", PRO_BOOL, false, ON, &auto_typedefs},
     {"troff", PRO_BOOL, false, ON, &troff},
     {"ut", PRO_BOOL, true, ON, &use_tabs},
     {"v", PRO_BOOL, false, ON, &verbose},
diff -u -r indent.orig/indent.1 indent/indent.1
--- indent.orig/indent.1	Mon Nov  5 21:43:24 2007
+++ indent/indent.1	Mon Nov  5 22:12:19 2007
@@ -80,6 +80,7 @@
 .Op Fl sob | Fl nsob
 .Ek
 .Op Fl \&st
+.Op Fl \&ta
 .Op Fl troff
 .Op Fl ut | Fl nut
 .Op Fl v | Fl \&nv
@@ -377,6 +378,9 @@
 Causes
 .Nm
 to take its input from stdin and put its output to stdout.
+.It Fl ta
+Automatically add all identifiers ending in "_t" or "_T" to the list
+of type keywords.
 .It Fl T Ns Ar typename
 Adds
 .Ar typename
diff -u -r indent.orig/indent_globs.h indent/indent_globs.h
--- indent.orig/indent_globs.h	Mon Nov  5 21:43:24 2007
+++ indent/indent_globs.h	Mon Nov  5 22:11:28 2007
@@ -204,6 +204,8 @@
 					 * brace onto separate lines */
 int	    use_tabs;			/* set true to use tabs for spacing,
 					 * false uses all spaces */
+int	    auto_typedefs;		/* set true to recognize identifiers
+					 * ending in "_t" like typedefs */
 
 /* -troff font state information */
 
diff -u -r indent.orig/lexi.c indent/lexi.c
--- indent.orig/lexi.c	Mon Nov  5 21:43:24 2007
+++ indent/lexi.c	Mon Nov  5 22:21:47 2007
@@ -249,6 +249,17 @@
 	last_code = ident;	/* Remember that this is the code we will
 				 * return */
 
+	if (auto_typedefs) {
+	    const char *q = s_token;
+	    /* Check if we have an "_t" in the end */
+	    if (q[0] && q[1] &&
+	        (strcmp(q + strlen(q) - 2, "_t") == 0)) {
+	        ps.its_a_keyword = true;
+		ps.last_u_d = true;
+	        goto found_auto_typedef;
+	    }
+	}
+
 	/*
 	 * This loop will check if the token is a keyword.
 	 */
@@ -285,6 +296,7 @@
 		/* FALLTHROUGH */
 
 	    case 4:		/* one of the declaration keywords */
+	    found_auto_typedef:
 		if (ps.p_l_follow) {
 		    ps.cast_mask |= (1 << ps.p_l_follow) & ~ps.sizeof_mask;
 		    break;	/* inside parens: cast, param list or sizeof */

--Boundary-00=_iPlMHLc56jZWWCA--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200711080110.10220.hselasky>