Skipping spaces in configuration files (ticket #1557).
Previously, a chunk of spaces larger than NGX_CONF_BUFFER (4096 bytes)
resulted in the "too long parameter" error during parsing such a
configuration. This was because the code only set start and start_line
on non-whitespace characters, and hence adjacent whitespace characters
were preserved when reading additional data from the configuration file.
Fix is to always move start and start_line if the last character was
a space.
Maxim Dounin
3 years ago
655 | 655 | } |
656 | 656 | |
657 | 657 | if (last_space) { |
658 | if (ch == ' ' || ch == '\t' || ch == CR || ch == LF) { | |
659 | continue; | |
660 | } | |
661 | 658 | |
662 | 659 | start = b->pos - 1; |
663 | 660 | start_line = cf->conf_file->line; |
661 | ||
662 | if (ch == ' ' || ch == '\t' || ch == CR || ch == LF) { | |
663 | continue; | |
664 | } | |
664 | 665 | |
665 | 666 | switch (ch) { |
666 | 667 |