Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 26 Dec 1997 14:48:17 -0500 (EST)
From:      Brian Clapper <bmc@WillsCreek.COM>
To:        Greg Lehey <grog@lemis.com>
Cc:        Donn Miller <dmm125@bellatlantic.net>, FreeBSD Questions <questions@FreeBSD.ORG>
Subject:   Re: <wctype.h>
Message-ID:  <199712261948.OAA03115@current.willscreek.com>
In-Reply-To: <19971225102031.22902@lemis.com>
References:  <Pine.NEB.3.96.971223085147.5345A-100000@myname.my.domain> <Pine.BSF.3.96.971224144545.10003L-100000@localhost> <19971225102031.22902@lemis.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 25 December, 1997, at 10:20 (+1030)
Greg Lehey wrote:

> On Wed, Dec 24, 1997 at 02:46:06PM -0800, Doug White wrote:
> > On Tue, 23 Dec 1997, Donn Miller wrote:
> >
> >> Just wondering about the <wctype.h> include file.  FreeBSD doesn't seem to
> >> have it.  Does fbsd support this library?
> >
> > What's the name of the library or package?  It may not come with the core
> > system but may be available as a package.
>
> This question came up on -hackers in the last day or so in connection
> with wine.  The replies indicate that it's some kind of Microsoft
> header file, and that it shouldn't be used under UNIX: there should be
> some kind of #ifdef.  You might like to check if that fits in with
> what your package wants.

Sorry, it's not (just) some kind of Microsoft header file; it's a new ANSI
header file that provides support routines and definitions for wide
characters.  In addition to being provided by the MS Visual C++ development
environment, it's available on Solaris 2.5.  The functions/macros it
provides are also available on other commercial Unices--such as Digital's
version of OSF/1, HP/UX 10, and AIX 4.2--even though they don't provide the
<wctype.h> header file.  (You include either <wchar.h> or <ctype.h> to get
them, depending on the OS flavor.)

I find I miss the functionality on FreeBSD, in fact, when I try to port
certain software (namely stuff I'm doing at work) onto my boxes at home.

P.J. Plauger's DinkumWare site (`http://www.dinkumware.com/') has this to
say on the subject:

`http://www.dinkumware.com/htm_cl/wctype.html#<wctype.h>':

        Include the standard header <wctype.h> to declare several functions
        that are useful for classifying and mapping codes from the target
        wide-character set.

        Every function that has a parameter of type wint_t can accept the
        value of the macro WEOF or any valid wide-character code (of type
        wchar_t). Thus, the argument can be the value returned by any of
        the functions: btowc, fgetwc, fputwc, getwc, getwchar, putwc,
        putwchar, towctrans, towlower, towupper, or ungetwc. You must not
        call these functions with other wide-character argument values.

        The wide-character classification functions are strongly related to
        the (byte) character classification functions. Each function isXXX
        has a corresponding wide-character classification function
        iswXXX.

Thus, <wctype.h> is analogous to <ctype.h>: It provides macros such as
islower(), iswupper(), towlower(), towupper(), iswpunct(), etc.  Complete
info is available at the above URL.  (The topic index page is helpful; it's
located here: `http://www.dinkumware.com/htm_cl/_index.html'.)

According to `http://www.dinkumware.com/htm_cl/lib_over.html#Amendment',
"The headers <iso646.h>, <wchar.h>, and <wctype.h> are added with Amendment
1, an addition to the C Standard published in 1995."

See `http://www.dinkumware.com/refc.html' for a "complete HTML description
of the Standard C Library, corresponding to ISO/IEC 9899 (1990) as amended
in 1995."
-----
Brian Clapper, bmc@WillsCreek.COM, http://WWW.WillsCreek.COM/
Real Programs don't use shared text.  Otherwise, how can they use
functions for scratch space after they are finished calling them?



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199712261948.OAA03115>