diff options
Diffstat (limited to 'lib/libc/locale/wctrans.c')
-rw-r--r-- | lib/libc/locale/wctrans.c | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/lib/libc/locale/wctrans.c b/lib/libc/locale/wctrans.c deleted file mode 100644 index 6813e33..0000000 --- a/lib/libc/locale/wctrans.c +++ /dev/null @@ -1,80 +0,0 @@ -/*- - * Copyright (c) 2002 Tim J. Robbins. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include <sys/cdefs.h> -__FBSDID("$FreeBSD$"); - -#include <errno.h> -#include <string.h> -#include <wctype.h> - -enum { - _WCT_ERROR = 0, - _WCT_TOLOWER = 1, - _WCT_TOUPPER = 2 -}; - -wint_t -towctrans(wint_t wc, wctrans_t desc) -{ - - switch (desc) { - case _WCT_TOLOWER: - wc = towlower(wc); - break; - case _WCT_TOUPPER: - wc = towupper(wc); - break; - case _WCT_ERROR: - default: - errno = EINVAL; - break; - } - - return (wc); -} - -wctrans_t -wctrans(const char *charclass) -{ - struct { - const char *name; - wctrans_t trans; - } ccls[] = { - { "tolower", _WCT_TOLOWER }, - { "toupper", _WCT_TOUPPER }, - { NULL, _WCT_ERROR }, /* Default */ - }; - int i; - - i = 0; - while (ccls[i].name != NULL && strcmp(ccls[i].name, charclass) != 0) - i++; - - if (ccls[i].trans == _WCT_ERROR) - errno = EINVAL; - return (ccls[i].trans); -} |