collcmp.c (290494) | collcmp.c (301461) |
---|---|
1/* 2 * Copyright (C) 1996 by Andrey A. Chernov, Moscow, Russia. 3 * All rights reserved. 4 * 5 * Copyright (c) 2011 The FreeBSD Foundation 6 * All rights reserved. 7 * Portions of this software were developed by David Chisnall 8 * under sponsorship from the FreeBSD Foundation. --- 16 unchanged lines hidden (view full) --- 25 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 29 * SUCH DAMAGE. 30 */ 31 32#include <sys/cdefs.h> | 1/* 2 * Copyright (C) 1996 by Andrey A. Chernov, Moscow, Russia. 3 * All rights reserved. 4 * 5 * Copyright (c) 2011 The FreeBSD Foundation 6 * All rights reserved. 7 * Portions of this software were developed by David Chisnall 8 * under sponsorship from the FreeBSD Foundation. --- 16 unchanged lines hidden (view full) --- 25 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 29 * SUCH DAMAGE. 30 */ 31 32#include <sys/cdefs.h> |
33__FBSDID("$FreeBSD: head/lib/libc/locale/collcmp.c 290494 2015-11-07 12:43:35Z bapt $"); | 33__FBSDID("$FreeBSD: head/lib/libc/locale/collcmp.c 301461 2016-06-05 19:12:52Z pfg $"); |
34 35#include <string.h> 36#include <wchar.h> 37#include <xlocale.h> 38#include "collate.h" 39 40/* 41 * Compare two characters using collate 42 */ 43 | 34 35#include <string.h> 36#include <wchar.h> 37#include <xlocale.h> 38#include "collate.h" 39 40/* 41 * Compare two characters using collate 42 */ 43 |
44int __collate_range_cmp(struct xlocale_collate *table, wchar_t c1, wchar_t c2) | 44int __collate_range_cmp(struct xlocale_collate *table, char c1, char c2) |
45{ | 45{ |
46 char s1[2], s2[2]; 47 48 s1[0] = c1; 49 s1[1] = '\0'; 50 s2[0] = c2; 51 s2[1] = '\0'; 52 struct _xlocale l = {{0}}; 53 l.components[XLC_COLLATE] = (struct xlocale_component *)table; 54 return (strcoll_l(s1, s2, &l)); 55} 56 57int __wcollate_range_cmp(struct xlocale_collate *table, wchar_t c1, wchar_t c2) 58{ |
|
46 wchar_t s1[2], s2[2]; 47 48 s1[0] = c1; | 59 wchar_t s1[2], s2[2]; 60 61 s1[0] = c1; |
49 s1[1] = 0; | 62 s1[1] = L'\0'; |
50 s2[0] = c2; | 63 s2[0] = c2; |
51 s2[1] = 0; | 64 s2[1] = L'\0'; |
52 struct _xlocale l = {{0}}; 53 l.components[XLC_COLLATE] = (struct xlocale_component *)table; 54 return (wcscoll_l(s1, s2, &l)); 55} | 65 struct _xlocale l = {{0}}; 66 l.components[XLC_COLLATE] = (struct xlocale_component *)table; 67 return (wcscoll_l(s1, s2, &l)); 68} |