File tree 1 file changed +34
-0
lines changed
1 file changed +34
-0
lines changed Original file line number Diff line number Diff line change 61
61
if (NR >= 1)
62
62
print line1;
63
63
}' |
64
+ # prevent indenting of code in 'extern "C"' blocks
65
+ awk ' BEGIN {line1 = ""; line2 = ""; skips = 0}
66
+ {
67
+ line2 = $0;
68
+ if (skips > 0)
69
+ skips--;
70
+ if (line1 ~ "^extern[ ]*\"C\"" &&
71
+ line2 ~ "^{[ ]*$")
72
+ {
73
+ # don' t print first line
74
+ print " /* Open extern \" C\" */" ;
75
+ line2 = " " ;
76
+ skips = 2;
77
+ }
78
+ else if (line1 ~ " ^#ifdef[ ]*__cplusplus" &&
79
+ line2 ~ " ^}[ ]*$" )
80
+ {
81
+ print line1;
82
+ print " /* Close extern \" C\" */" ;
83
+ line2 = " " ;
84
+ skips = 2;
85
+ }
86
+ else
87
+ if (skips == 0 && NR > = 2)
88
+ print line1;
89
+ line1 = line2;
90
+ }
91
+ END {
92
+ if (NR > = 1 && skips < = 1)
93
+ print line1;
94
+ }' |
64
95
# protect backslashes in DATA()
65
96
sed ' s; ^DATA(.* $; /* & * /; ' |
66
97
# protect wrapping in CATALOG()
1456
1487
cat /tmp/$$ a |
1457
1488
sed ' s;^/\*\(DATA(.*\)\*/$;\1;' |
1458
1489
sed ' s;^/\*\(CATALOG(.*\)\*/$;\1;' |
1490
+ sed ' s;^/\* Open extern \"C\" \*/$;extern "C"\
1491
+ {;' |
1492
+ sed ' s;^/\* Close extern \"C\" \*/$;};' |
1459
1493
# remove tabs and retab with four spaces
1460
1494
detab -t8 -qc |
1461
1495
entab -t4 -qc |
You can’t perform that action at this time.
0 commit comments