From 876c7009fba2003dfee200952a35a17f73066fe9 Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
Date: Thu, 8 Nov 2001 17:03:23 +0000
Subject: [PATCH] Make extern C handling more flexible.

---
 src/tools/pgindent/pgindent | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/tools/pgindent/pgindent b/src/tools/pgindent/pgindent
index dd7704649e1..616aad0a71e 100755
--- a/src/tools/pgindent/pgindent
+++ b/src/tools/pgindent/pgindent
@@ -67,11 +67,14 @@ do
 			line2 = $0;
 			if (skips > 0)
 				skips--;
-			if (line1 ~ "^extern[ 	]*\"C\"" &&
-			    line2 ~ "^{[ 	]*$")
+			if (line1 ~ "^#ifdef[ 	]*__cplusplus" &&
+			    line2 ~ "^extern[ 	]*\"C\"[ 	]*$")
 			{
-				# do not print first line
-				print "/* Open extern \"C\" */";
+				print line1;
+				print line2;
+				if (getline && $0 ~ /^{[ 	]*$/)
+					print "/* Open extern \"C\" */";
+				else	print $0;
 				line2 = "";
 				skips = 2;
 			}
@@ -1490,8 +1493,7 @@ do
 # remove tabs and retab with four spaces
 	detab -t8 -qc |
 	entab -t4 -qc |
-	sed 's;^/\* Open extern \"C\" \*/$;extern		"C"\
-{;' |
+	sed 's;^/\* Open extern \"C\" \*/$;{;' |
 	sed 's;^/\* Close extern \"C\" \*/$;};' |
 	sed 's;/\*---X_X;/* ---;g' |
 # workaround indent bug
-- 
GitLab