Hi Hackers, I have encountered a bug in "*src/tools/pg_bsd_indent/lexi.c"* where pgindent was incorrectly dropping the final line of a file if that line did not end with a newline character (\n). This occurred because the EOF logic triggered a termination of the processing loop before the remaining buffer was flushed to the output.
*Steps to Reproduce:* 1. Create a *header/c* file with some content but no newline at the very end. 2. Run pgindent on those files. 3. Check the file content. The file is now empty or missing the last line. This patch ensures that had_eof states do not bypass the final buffer processing, preserving the integrity of the source code regardless of trailing whitespace. Akshay Joshi Principal Engineer | Engineering Manager | pgAdmin Hacker enterprisedb.com * Blog*: https://www.enterprisedb.com/akshay-joshi * GitHub*: https://github.com/akshay-joshi * LinkedIn*: https:// <http://goog_373708537> www.linkedin.com/in/akshay-joshi-a9317b14
0001-Fix-pgindent-truncates-last-line-of-files.patch
Description: Binary data
