 b6cbf7203b
			
		
	
	
		b6cbf7203b
		
	
	
	
	
		
			
			This patch imports the unmodified current version of NetBSD libc. The NetBSD includes are in /nbsd_include, while the libc code itself is split between lib/nbsd_libc and common/lib/libc.
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*	$NetBSD: wcsncasecmp.c,v 1.2 2006/08/26 22:45:52 christos Exp $	*/
 | |
| 
 | |
| /*
 | |
|  * Copyright (C) 2006 Aleksey Cheusov
 | |
|  *
 | |
|  * This material is provided "as is", with absolutely no warranty expressed
 | |
|  * or implied. Any use is at your own risk.
 | |
|  *
 | |
|  * Permission to use or copy this software for any purpose is hereby granted 
 | |
|  * without fee. Permission to modify the code and to distribute modified
 | |
|  * code is also granted without any restrictions.
 | |
|  */
 | |
| 
 | |
| #include <sys/cdefs.h>
 | |
| #if defined(LIBC_SCCS) && !defined(lint) 
 | |
| __RCSID("$NetBSD: wcsncasecmp.c,v 1.2 2006/08/26 22:45:52 christos Exp $"); 
 | |
| #endif /* LIBC_SCCS and not lint */ 
 | |
| 
 | |
| #include "namespace.h"
 | |
| #include <assert.h>
 | |
| #include <wchar.h>
 | |
| #include <wctype.h>
 | |
| 
 | |
| __weak_alias(wcsncasecmp,_wcsncasecmp)
 | |
| 
 | |
| int
 | |
| wcsncasecmp(const wchar_t *s1, const wchar_t *s2, size_t n)
 | |
| {
 | |
| 	int lc1  = 0;
 | |
| 	int lc2  = 0;
 | |
| 	int diff = 0;
 | |
| 
 | |
| 	_DIAGASSERT(s1);
 | |
| 	_DIAGASSERT(s2);
 | |
| 
 | |
| 	while (n--) {
 | |
| 		lc1 = towlower (*s1);
 | |
| 		lc2 = towlower (*s2);
 | |
| 
 | |
| 		diff = lc1 - lc2;
 | |
| 		if (diff)
 | |
| 			return diff;
 | |
| 
 | |
| 		if (!lc1)
 | |
| 			return 0;
 | |
| 
 | |
| 		++s1;
 | |
| 		++s2;
 | |
| 	}
 | |
| 
 | |
| 	return 0;
 | |
| }
 |