Subversion Repositories HelenOS

Rev

Rev 4013 | Rev 4345 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4013 Rev 4014
Line 45... Line 45...
45
/** Return number of characters in a string.
45
/** Return number of characters in a string.
46
 *
46
 *
47
 * @param str NULL terminated string.
47
 * @param str NULL terminated string.
48
 *
48
 *
49
 * @return Number of characters in str.
49
 * @return Number of characters in str.
-
 
50
 *
50
 */
51
 */
51
size_t strlen(const char *str)
52
size_t strlen(const char *str)
52
{
53
{
53
    int i;
54
    int i;
54
   
55
   
55
    for (i = 0; str[i]; i++)
56
    for (i = 0; str[i]; i++);
56
        ;
-
 
57
   
57
   
58
    return i;
58
    return i;
59
}
59
}
60
 
60
 
61
/** Compare two NULL terminated strings
61
/** Compare two NULL terminated strings
Line 78... Line 78...
78
        if (*src > *dst)
78
        if (*src > *dst)
79
            return 1;
79
            return 1;
80
    }
80
    }
81
    if (*src == *dst)
81
    if (*src == *dst)
82
        return 0;
82
        return 0;
-
 
83
   
83
    if (!*src)
84
    if (!*src)
84
        return -1;
85
        return -1;
-
 
86
   
85
    return 1;
87
    return 1;
86
}
88
}
87
 
89
 
88
 
90
 
89
/** Compare two NULL terminated strings
91
/** Compare two NULL terminated strings
Line 105... Line 107...
105
    unsigned int i;
107
    unsigned int i;
106
   
108
   
107
    for (i = 0; (*src) && (*dst) && (i < len); src++, dst++, i++) {
109
    for (i = 0; (*src) && (*dst) && (i < len); src++, dst++, i++) {
108
        if (*src < *dst)
110
        if (*src < *dst)
109
            return -1;
111
            return -1;
-
 
112
       
110
        if (*src > *dst)
113
        if (*src > *dst)
111
            return 1;
114
            return 1;
112
    }
115
    }
-
 
116
   
113
    if (i == len || *src == *dst)
117
    if (i == len || *src == *dst)
114
        return 0;
118
        return 0;
-
 
119
   
115
    if (!*src)
120
    if (!*src)
116
        return -1;
121
        return -1;
-
 
122
   
117
    return 1;
123
    return 1;
118
}
124
}
119
 
125
 
120
 
126
 
121
 
127
 
Line 126... Line 132...
126
 * last copied character.
132
 * last copied character.
127
 *
133
 *
128
 * @param src Source string.
134
 * @param src  Source string.
129
 * @param dest Destination buffer.
135
 * @param dest Destination buffer.
130
 * @param len Size of destination buffer.
136
 * @param len  Size of destination buffer.
-
 
137
 *
131
 */
138
 */
132
void strncpy(char *dest, const char *src, size_t len)
139
void strncpy(char *dest, const char *src, size_t len)
133
{
140
{
134
    unsigned int i;
141
    unsigned int i;
135
 
142
   
Line 149... Line 156...
149
 * @return  Pointer to character in @a s or NULL if not found.
156
 * @return Pointer to character in @a s or NULL if not found.
150
 */
157
 */
151
extern char *strchr(const char *s, int i)
158
extern char *strchr(const char *s, int i)
152
{
159
{
153
    while (*s != '\0') {
160
    while (*s != '\0') {
-
 
161
        if (*s == i)
154
        if (*s == i) return (char *) s;
162
            return (char *) s;
155
        ++s;
163
        ++s;
156
    }
164
    }
157
 
165
   
158
    return NULL;
166
    return NULL;
159
}
167
}