Как заставить отступ GNU поддерживать терминаторы CRLF?
Я попытался использовать отступ GNU (v 2.2.12) в исходном файле с ограничителями CRLF с неожиданными ошибками, которые я не мог понять из исходного кода. Выходной файл был как бы со случайным отступом.
Затем я преобразовал файл в обычный файл Unix только с терминаторами LF, и он удалил ошибки. Выходной файл имеет отступ, как и ожидалось.
Я ничего не смог найти об этом, так что знаете ли вы что-нибудь об обычном/ожидаемом поведении отступа GNU в отношении разделителей строк?
Знаете ли вы, как заставить отступ работать правильно с любым исходным файлом C?
Вот журнал терминала (с комментариями и отступами) того, что я видел:
user@pc:~$ file main.c
main.c: C source, ASCII text, with CRLF line terminators
user@pc:~$ indent main.c > output.c # ERRORS
indent: main.c:1187: Error:Stmt nesting error.
indent: main.c:1306: Error:Stmt nesting error.
indent: main.c:1468: Error:Unmatched 'else'
indent: main.c:1645: Error:Unexpected end of file
user@pc:~$ sed -i s.$'\r'..g main.c # Changing CRLF to LF
user@pc:~$ file main.c
main.c: C source, ASCII text
user@pc:~$ indent main.c > output.c # NO ERROR