#define NULL ((void *) 0)
#endif
+extern inline size_t _dl_strlen(const char * str)
+{
+ register char *ptr = (char *) str;
+
+ while (*ptr)
+ ptr++;
+ return (ptr - str);
+}
+
extern inline char * _dl_strcpy(char * dst,const char *src)
{
register char *ptr = dst;
return 0;
}
-
-extern inline size_t _dl_strlen(const char * str)
+static inline char *_dl_strrchr(const char *str, int c)
{
+ register char *prev = 0;
register char *ptr = (char *) str;
- while (*ptr)
+ /* For null it's just like strlen */
+ if (c == '\0') {
+ return ptr + _dl_strlen(ptr);
+ }
+
+ /* everything else just step along the string. */
+ while ((ptr = _dl_strchr(ptr, c)) != 0) {
+ prev = ptr;
ptr++;
- return (ptr - str);
+ }
+ return prev;
}
extern inline void * _dl_memcpy(void * dst, const void * src, size_t len)
return p + 1;
}
-
#endif
#define NULL ((void *) 0)
#endif
+extern inline size_t _dl_strlen(const char * str)
+{
+ register char *ptr = (char *) str;
+
+ while (*ptr)
+ ptr++;
+ return (ptr - str);
+}
+
extern inline char * _dl_strcpy(char * dst,const char *src)
{
register char *ptr = dst;
return 0;
}
-
-extern inline size_t _dl_strlen(const char * str)
+static inline char *_dl_strrchr(const char *str, int c)
{
+ register char *prev = 0;
register char *ptr = (char *) str;
- while (*ptr)
+ /* For null it's just like strlen */
+ if (c == '\0') {
+ return ptr + _dl_strlen(ptr);
+ }
+
+ /* everything else just step along the string. */
+ while ((ptr = _dl_strchr(ptr, c)) != 0) {
+ prev = ptr;
ptr++;
- return (ptr - str);
+ }
+ return prev;
}
extern inline void * _dl_memcpy(void * dst, const void * src, size_t len)
return p + 1;
}
-
#endif