File:
[DragonFly] /
src /
lib /
libc /
locale /
Attic /
tolower.c
Revision
1.3:
download - view:
text,
annotated -
select for diffs
Sun Nov 9 02:34:01 2003 UTC (9 years, 7 months ago) by
dillon
Branches:
MAIN
CVS tags:
HEAD,
DragonFly_Stable,
DragonFly_Snap29Sep2004,
DragonFly_Snap13Sep2004,
DragonFly_RELEASE_1_2_Slip,
DragonFly_RELEASE_1_2,
DragonFly_1_0_REL,
DragonFly_1_0_RC1,
DragonFly_1_0A_REL
Core integer types header file reorganization stage 2/2:
Adjust main source files to reflect stdint.h and other changes. Primarily
this means getting rid of the _BSD_XXX type useage but in some cases,
such as for tar, it means getting rid of #define overrides for intmax_t
and uintmax_t.
1: /*-
2: * Copyright (c) 1993
3: * The Regents of the University of California. All rights reserved.
4: *
5: * This code is derived from software contributed to Berkeley by
6: * Paul Borman at Krystal Technologies.
7: *
8: * Redistribution and use in source and binary forms, with or without
9: * modification, are permitted provided that the following conditions
10: * are met:
11: * 1. Redistributions of source code must retain the above copyright
12: * notice, this list of conditions and the following disclaimer.
13: * 2. Redistributions in binary form must reproduce the above copyright
14: * notice, this list of conditions and the following disclaimer in the
15: * documentation and/or other materials provided with the distribution.
16: * 3. All advertising materials mentioning features or use of this software
17: * must display the following acknowledgement:
18: * This product includes software developed by the University of
19: * California, Berkeley and its contributors.
20: * 4. Neither the name of the University nor the names of its contributors
21: * may be used to endorse or promote products derived from this software
22: * without specific prior written permission.
23: *
24: * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
25: * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27: * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
28: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29: * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30: * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33: * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34: * SUCH DAMAGE.
35: *
36: * $FreeBSD: src/lib/libc/locale/tolower.c,v 1.5.8.1 2000/06/04 21:47:39 ache Exp $
37: * $DragonFly: src/lib/libc/locale/tolower.c,v 1.3 2003/11/09 02:34:01 dillon Exp $
38: */
39:
40: #include <stdio.h>
41: #include <rune.h>
42: #ifndef _SYS_STDINT_H_
43: #include <sys/stdint.h>
44: #endif
45:
46: __ct_rune_t
47: ___tolower(__ct_rune_t c)
48: {
49: int x;
50: _RuneRange *rr = &_CurrentRuneLocale->maplower_ext;
51: _RuneEntry *re = rr->ranges;
52:
53: if (c < 0 || c == EOF)
54: return(c);
55:
56: for (x = 0; x < rr->nranges; ++x, ++re) {
57: if (c < re->min)
58: return(c);
59: if (c <= re->max)
60: return(re->map + c - re->min);
61: }
62:
63: return(c);
64: }