From owner-cvs-src@FreeBSD.ORG Tue Jul 13 17:04:41 2004 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AF60816A4CE; Tue, 13 Jul 2004 17:04:41 +0000 (GMT) Received: from fillmore.dyndns.org (port-212-202-50-15.dynamic.qsc.de [212.202.50.15]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2AABA43D31; Tue, 13 Jul 2004 17:04:41 +0000 (GMT) (envelope-from eikemeier@fillmore-labs.com) Received: from dhcp-7.local ([172.16.0.7] helo=dhcp-14.local) by fillmore.dyndns.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.34 (FreeBSD)) id 1BkQhn-000GCm-5s; Tue, 13 Jul 2004 19:04:40 +0200 Date: Tue, 13 Jul 2004 19:05:20 +0200 Content-Type: text/plain; charset=US-ASCII; format=flowed Mime-Version: 1.0 (Apple Message framework v482) To: "Tim J. Robbins" From: Oliver Eikemeier In-Reply-To: <200407090208.i69287du035795@repoman.freebsd.org> Message-Id: Content-Transfer-Encoding: 7bit User-Agent: KMail/1.5.9 cc: cvs-src@FreeBSD.org cc: src-committers@FreeBSD.org cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/usr.bin/tr Makefile cmap.c cmap.h cset.c cset.h extern.h str.c tr.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Jul 2004 17:04:41 -0000 Tim J. Robbins wrote: > tjr 2004-07-09 02:08:07 UTC > > FreeBSD src repository > > Modified files: > usr.bin/tr Makefile extern.h str.c tr.c > Added files: > usr.bin/tr cmap.c cmap.h cset.c cset.h > Log: > Add support for multibyte characters. The challenge here was to use > 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). > > Revision Changes Path > 1.2 +2 -1 src/usr.bin/tr/Makefile > 1.1 +212 -0 src/usr.bin/tr/cmap.c (new) > 1.1 +83 -0 src/usr.bin/tr/cmap.h (new) > 1.1 +303 -0 src/usr.bin/tr/cset.c (new) > 1.1 +75 -0 src/usr.bin/tr/cset.h (new) > 1.9 +11 -10 src/usr.bin/tr/extern.h > 1.23 +78 -87 src/usr.bin/tr/str.c > 1.22 +116 -102 src/usr.bin/tr/tr.c I'm not exactly sure, but is > echo "http://wwww.maxmind.com/" | tr -s " " ";" htp:/w.maxmind.com/ the expected result here? -Oliver