summaryrefslogtreecommitdiffstats
path: root/usr.bin/tr/cset.c
Commit message (Collapse)AuthorAgeFilesLines
* Put parentheses in the right place.ed2011-10-141-2/+2
| | | | | Noted by: jilles@ Broken by: me. :-(
* Build tr(1) with WARNS=6.ed2011-10-141-2/+2
|
* Revert most part of 200420 as requested, as more review and polish isdelphij2009-12-131-0/+3
| | | | needed.
* Remove unneeded header includes from usr.bin/ except contributed code.delphij2009-12-111-3/+0
| | | | Tested with: make universe
* Splay the left and right subtrees on min - 1 and max + 1, respectively,tjr2004-07-141-34/+20
| | | | | before trying to coalesce. Forgetting to splay caused us to miss many opportunities for coalescing.
* Initialize cs_invert to "false" in new csets.tjr2004-07-101-0/+1
|
* Add support for multibyte characters. The challenge here was to usetjr2004-07-091-0/+303
data structures that scale better with large character sets, instead of arrays indexed by character value: - Sets of characters to delete/squeeze are stored in a new "cset" structure, which is implemented as a splay tree of extents. This structure has the ability to store character classes (ala wctype(3)), but this is not currently fully utilized. - Mappings between characters are stored in a new "cmap" structure, which is also a splay tree. - The parser no longer builds arrays containing all the characters in a particular class; instead, next() determines them on-the-fly using nextwctype(3).
OpenPOWER on IntegriCloud