| /* -*- 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. | |
| * | |
| * ----------------------------------------------------------------------- */ | |
| /* | |
| * arch/i386/boot/string.c | |
| * | |
| * 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; | |
| } |