Subversion Repositories HelenOS

Rev

Rev 4012 | Rev 4014 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4012 Rev 4013
Line 139... Line 139...
139
    }
139
    }
140
 
140
 
141
    dest[i - 1] = '\0';
141
    dest[i - 1] = '\0';
142
}
142
}
143
 
143
 
144
/** Copy string.
-
 
145
 *
-
 
146
 * Copy string from src address to dst address.  The copying is done
-
 
147
 * char-by-char until the null character. The source and destination memory
-
 
148
 * areas cannot overlap.
-
 
149
 *
-
 
150
 * @param src       Source string to copy from.
-
 
151
 * @param dst       Destination string to copy to.
-
 
152
 *
-
 
153
 * @return      Address of the destination string.
-
 
154
 */
-
 
155
char *strcpy(char *dest, const char *src)
-
 
156
{
-
 
157
    char *orig = dest;
-
 
158
   
-
 
159
    while ((*dest++ = *src++) != '\0');
-
 
160
 
-
 
161
    return orig;
-
 
162
}
-
 
163
 
-
 
164
/** Find first occurence of character in string.
144
/** Find first occurence of character in string.
165
 *
145
 *
166
 * @param s String to search.
146
 * @param s String to search.
167
 * @param i Character to look for.
147
 * @param i Character to look for.
168
 *
148
 *
Line 176... Line 156...
176
    }
156
    }
177
 
157
 
178
    return NULL;
158
    return NULL;
179
}
159
}
180
 
160
 
181
/** Find last occurence of character in string.
-
 
182
 *
-
 
183
 * @param s String to search.
-
 
184
 * @param i Character to look for.
-
 
185
 *
-
 
186
 * @return  Pointer to character in @a s or NULL if not found.
-
 
187
 */
-
 
188
extern char *strrchr(const char *s, int i)
-
 
189
{
-
 
190
    const char *start;
-
 
191
 
-
 
192
    start = s;
-
 
193
    if (*s == '\0') return NULL;
-
 
194
 
-
 
195
    while (*s != '\0') ++s;
-
 
196
 
-
 
197
    while (s != start) {
-
 
198
        --s;
-
 
199
        if (*s == i) return (char *) s;
-
 
200
    }
-
 
201
 
-
 
202
    return NULL;
-
 
203
}
-
 
204
 
-
 
205
/** @}
161
/** @}
206
 */
162
 */