Changeset ff3b3197 in mainline for generic/src/lib/func.c
- Timestamp:
- 2005-11-25T22:58:38Z (20 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- f4338d2
- Parents:
- 78c32b4
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
generic/src/lib/func.c
r78c32b4 rff3b3197 32 32 #include <arch/asm.h> 33 33 #include <arch.h> 34 #include <typedefs.h> 34 35 35 36 __u32 haltstate = 0; /**< Halt flag */ … … 52 53 } 53 54 55 /** Return number of characters in a string. 56 * 57 * @param str NULL terminated string. 58 * 59 * @return Number of characters in str. 60 */ 61 size_t strlen(const char *str) 62 { 63 int i; 64 65 for (i = 0; str[i]; i++) 66 ; 67 68 return i; 69 } 54 70 55 71 /** Compare two NULL terminated strings 56 72 * 57 * Do a char-by-char comparment of two NULL terminated strings. 58 * The strings are considered equal iff they have the same 59 * length and consist of the same characters. 73 * Do a char-by-char comparison of two NULL terminated strings. 74 * The strings are considered equal iff they consist of the same 75 * characters on the minimum of their lengths and specified maximal 76 * length. 60 77 * 61 78 * @param src First string to compare. 62 79 * @param dst Second string to compare. 80 * @param len Maximal length for comparison. 63 81 * 64 82 * @return 0 if the strings are equal, 1 otherwise. 65 83 * 66 84 */ 67 int strcmp(const char *src, const char *dst )85 int strcmp(const char *src, const char *dst, size_t len) 68 86 { 69 87 int i; 70 88 71 89 i = 0; 72 while ( src[i] == dst[i]) {73 if ( src[i] == '\0')90 while ((i < len) && (src[i] == dst[i])) { 91 if ((i == len - 1) || (src[i] == '\0')) 74 92 return 0; 75 93 i++;
Note:
See TracChangeset
for help on using the changeset viewer.