This can format all PostgreSQL *.c and *.h files, excluding libpq++, *.y, and *.l files. On 09/06/1997, from the top directory, I ran: find . -name '*.[ch]' -type f -print | egrep -v '++|/odbc/|s_lock.h' | xargs -n100 pgindent The stock BSD indent has two bugs. First, a comment after the word 'else' causes the rest of the file to be ignored. Second, it silently ignores typedefs after getting the first 100. Both problems are worked-around in this script. We also include a patch for the second bug in: /src/tools/pgindent/indent.bsd.patch Even with the workaround, installation of the patch produces better output. GNU indent, version 1.9.1, has several bugs, and is not recommended. These bugs become pretty major when you are doing >200k lines of code. If you don't believe me, take a directory and make a copy. Run pgindent on the copy using GNU indent, and do a diff -r. You will see what I mean. GNU indent does some things better, but mangles too. We get the list of typedef's included in pgindent by running: /src/tools/find_typedef
-
Bruce Momjian authored
1. The UnixWare tas macro was reformatted (by indent or it like?) which caused it to break. The asm macro construct is very particular about the %mem construct -- it has to start in column 1. 2. When compiling libpq++, g++ was used even if configure found the C++ com- piler to be CC. 3. When compiling libpq++, '-Wno-error' was added to CXXFLAGS, even if the compiler wasn't g++. Billy G. Allie
f1ab71ec