<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/usr.bin/tr/cset.c, branch release/6.3.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=release%2F6.3.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=release%2F6.3.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2004-07-14T08:33:14Z</updated>
<entry>
<title>Splay the left and right subtrees on min - 1 and max + 1, respectively,</title>
<updated>2004-07-14T08:33:14Z</updated>
<author>
<name>Tim J. Robbins</name>
<email>tjr@FreeBSD.org</email>
</author>
<published>2004-07-14T08:33:14Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=cfab3bdd89d20545d14baed23b1078b490fcea6f'/>
<id>urn:sha1:cfab3bdd89d20545d14baed23b1078b490fcea6f</id>
<content type='text'>
before trying to coalesce. Forgetting to splay caused us to miss many
opportunities for coalescing.
</content>
</entry>
<entry>
<title>Initialize cs_invert to "false" in new csets.</title>
<updated>2004-07-10T06:28:18Z</updated>
<author>
<name>Tim J. Robbins</name>
<email>tjr@FreeBSD.org</email>
</author>
<published>2004-07-10T06:28:18Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=9c8fd487a5f7aecddcd9792bea288c423327fb4e'/>
<id>urn:sha1:9c8fd487a5f7aecddcd9792bea288c423327fb4e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add support for multibyte characters. The challenge here was to use</title>
<updated>2004-07-09T02:08:07Z</updated>
<author>
<name>Tim J. Robbins</name>
<email>tjr@FreeBSD.org</email>
</author>
<published>2004-07-09T02:08:07Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=ca99cfdd14f4fa361788e3a15e1bfdd99e72b58c'/>
<id>urn:sha1:ca99cfdd14f4fa361788e3a15e1bfdd99e72b58c</id>
<content type='text'>
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).
</content>
</entry>
</feed>
