From 8266e8a84be9593d2eb061492473cf0f1a7529e2 Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
Date: Thu, 17 May 2001 16:11:08 +0000
Subject: [PATCH] OK, now pgindent has blank lines before comment blocks,
 except when there is a brace on the line above it.

---
 src/tools/pgindent/pgindent | 32 +++++++++++++++++++++++++++++++-
 1 file changed, 31 insertions(+), 1 deletion(-)

diff --git a/src/tools/pgindent/pgindent b/src/tools/pgindent/pgindent
index 3318b3fb8fd..53fe70d43b3 100755
--- a/src/tools/pgindent/pgindent
+++ b/src/tools/pgindent/pgindent
@@ -19,7 +19,7 @@ then	echo "You appear to have GNU indent rather than BSD indent." >&2
 	echo "See the pgindent/README file for a description of its problems." >&2
 	EXTRA_OPTS="-ncdb -bli0 -npcs -cli4"
 else	echo "Hope you installed /src/tools/pgindent/indent.bsd.patch." >&2
-	EXTRA_OPTS="-cli1"
+	EXTRA_OPTS="-bbb -cli1"
 fi
 
 for FILE
@@ -1343,6 +1343,36 @@ do
 			if (skips <= 2)
 				print line2;
 	}' |
+# remove blank line between opening brace and block comment
+	awk '
+	{	
+			line3 = $0;  
+			if (skips > 0)
+				skips--;
+			if (line1 ~ "		*{$" &&
+			    line2 ~ "^$" &&
+			    line3 ~ "		*/\\*$")
+			{
+				print line1;
+				print line3;
+				line1 = "";
+				line2 = "";
+				line3 = "";
+				skips = 3;
+			}
+			else
+	 			if (skips == 0 && NR >= 3)
+					print line1;
+			line1 = line2;
+			line2 = line3;
+			line3 = "";
+		}
+		END {
+			if (skips <= 1)
+				print line1;
+			if (skips <= 2)
+				print line2;
+	}' |
 #  Move prototype names to the same line as return type.  Useful for ctags. 
 #  Indent should do this, but it does not.  It formats prototypes just
 #  like real functions.
-- 
GitLab