diff options
author | fanf <fanf@FreeBSD.org> | 2002-12-18 20:50:44 +0000 |
---|---|---|
committer | fanf <fanf@FreeBSD.org> | 2002-12-18 20:50:44 +0000 |
commit | fd4a464ac4051c332c2942e10f0baa8f8277aa61 (patch) | |
tree | 282262e6fe40fba9f3c8ef38b661c8f6445b2cdb /bin/ls | |
parent | b7fb41d2f95b3bb13498689914be61d3d4d0e550 (diff) | |
download | FreeBSD-src-fd4a464ac4051c332c2942e10f0baa8f8277aa61.zip FreeBSD-src-fd4a464ac4051c332c2942e10f0baa8f8277aa61.tar.gz |
Sync with up-stream version, including a number of bug-fixes:
* The partial-evaluation of #elif sequences was broken and the
spaghetti logic of its implementation was too hard to understand.
I've re-done it using a straight-forward table-driven push-down
automaton.
* The pre-processor line parser did not allow for all of the weird
places that people might put comments, which could have caused it
to add syntax-errors to the output by removing a #if line containing
the start- or end-marker of a comment.
* The lexer didn't need to special-case the handling of string-literals
or character-constants, but it did need to learn about line-continuations
(backslash-newline).
* The input routine was buggy and bit-rotten and trivially replacable
with fgets(). I've also made the program static- and const-safe and
improved the presentation-order. The formatting of the state-transition
tables remains non-stylish.
This commit-messsage was brought to you by code-point 45.
MFC-after: one-week
Diffstat (limited to 'bin/ls')
0 files changed, 0 insertions, 0 deletions