diff options
Diffstat (limited to '410user/libstring/strncmp.c')
| -rw-r--r-- | 410user/libstring/strncmp.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/410user/libstring/strncmp.c b/410user/libstring/strncmp.c new file mode 100644 index 0000000..6ce3f30 --- /dev/null +++ b/410user/libstring/strncmp.c @@ -0,0 +1,38 @@ +/* + * Copyright (c) 1994 The University of Utah and + * the Computer Systems Laboratory (CSL). All rights reserved. + * + * Permission to use, copy, modify and distribute this software and its + * documentation is hereby granted, provided that both the copyright + * notice and this permission notice appear in all copies of the + * software, derivative works or modified versions, and any portions + * thereof, and that both notices appear in supporting documentation. + * + * THE UNIVERSITY OF UTAH AND CSL ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS + * IS" CONDITION. THE UNIVERSITY OF UTAH AND CSL DISCLAIM ANY LIABILITY OF + * ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. + * + * CSL requests users of this software to return to csl-dist@cs.utah.edu any + * improvements that they make and grant CSL redistribution rights. + */ + +#include <string.h> + +int +strncmp(const char *s1, const char *s2, size_t n) +{ + while (1) + { + if (n <= 0) + return 0; + if (*s1 != *s2) + return *s1 - *s2; + if (*s1 == 0) + return 0; + + s1++; + s2++; + n--; + } +} + |
