1 /****************************************************************************** 2 * Copyright (c) 2004, 2008 IBM Corporation 3 * All rights reserved. 4 * This program and the accompanying materials 5 * are made available under the terms of the BSD License 6 * which accompanies this distribution, and is available at 7 * http://www.opensource.org/licenses/bsd-license.php 8 * 9 * Contributors: 10 * IBM Corporation - initial implementation 11 *****************************************************************************/ 12 13 #include <string.h> 14 #include <ctype.h> 15 16 17 int strncasecmp(const char * s1,const char * s2,size_t n)18strncasecmp(const char *s1, const char *s2, size_t n) 19 { 20 if (n < 1) 21 return 0; 22 23 while (*s1 != 0 && *s2 != 0 && --n > 0) { 24 if (toupper(*s1) != toupper(*s2)) 25 break; 26 ++s1; 27 ++s2; 28 } 29 30 return toupper(*s1) - toupper(*s2); 31 } 32 33