51 lines
		
	
	
	
		
			995 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			51 lines
		
	
	
	
		
			995 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
|   | /* -*- linux-c -*- ------------------------------------------------------- *
 | ||
|  |  * | ||
|  |  *   Copyright (C) 1991, 1992 Linus Torvalds | ||
|  |  *   Copyright 2007 rPath, Inc. - All Rights Reserved | ||
|  |  * | ||
|  |  *   This file is part of the Linux kernel, and is made available under | ||
|  |  *   the terms of the GNU General Public License version 2. | ||
|  |  * | ||
|  |  * ----------------------------------------------------------------------- */ | ||
|  | 
 | ||
|  | /*
 | ||
|  |  * Very basic string functions | ||
|  |  */ | ||
|  | 
 | ||
|  | #include "boot.h"
 | ||
|  | 
 | ||
|  | int strcmp(const char *str1, const char *str2) | ||
|  | { | ||
|  | 	const unsigned char *s1 = (const unsigned char *)str1; | ||
|  | 	const unsigned char *s2 = (const unsigned char *)str2; | ||
|  | 	int delta = 0; | ||
|  | 
 | ||
|  | 	while (*s1 || *s2) { | ||
|  | 		delta = *s2 - *s1; | ||
|  | 		if (delta) | ||
|  | 			return delta; | ||
|  | 		s1++; | ||
|  | 		s2++; | ||
|  | 	} | ||
|  | 	return 0; | ||
|  | } | ||
|  | 
 | ||
|  | size_t strnlen(const char *s, size_t maxlen) | ||
|  | { | ||
|  | 	const char *es = s; | ||
|  | 	while (*es && maxlen) { | ||
|  | 		es++; | ||
|  | 		maxlen--; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	return (es - s); | ||
|  | } | ||
|  | 
 | ||
|  | unsigned int atou(const char *s) | ||
|  | { | ||
|  | 	unsigned int i = 0; | ||
|  | 	while (isdigit(*s)) | ||
|  | 		i = i * 10 + (*s++ - '0'); | ||
|  | 	return i; | ||
|  | } |