Parent Directory | Revision Log
Added compatibility function implementations such as scandir(), strstr() etc, in src/. Scandir implementation was replaced by the one in gnu libc.
1 | nmav | 1.1 | |
2 | #include "compat.h" | ||
3 | |||
4 | /* | ||
5 | * Name: strstr and strdup | ||
6 | * | ||
7 | * These are the standard library utilities. We define them here for | ||
8 | * systems that don't have them. | ||
9 | */ | ||
10 | |||
11 | #ifndef HAVE_STRSTR | ||
12 | char *strstr(char *s1, char *s2) | ||
13 | { /* from libiberty */ | ||
14 | char *p; | ||
15 | int len = strlen(s2); | ||
16 | |||
17 | if (*s2 == '\0') /* everything matches empty string */ | ||
18 | return s1; | ||
19 | for (p = s1; (p = strchr(p, *s2)) != NULL; p = strchr(p + 1, *s2)) { | ||
20 | if (strncmp(p, s2, len) == 0) | ||
21 | return (p); | ||
22 | } | ||
23 | return NULL; | ||
24 | } | ||
25 | #endif | ||
26 | |||
27 | #ifndef HAVE_STRDUP | ||
28 | char *strdup(char *s) | ||
29 | { | ||
30 | char *retval; | ||
31 | |||
32 | retval = (char *) malloc(strlen(s) + 1); | ||
33 | if (retval == NULL) { | ||
34 | perror("Hydra: out of memory in strdup"); | ||
35 | exit(1); | ||
36 | } | ||
37 | return strcpy(retval, s); | ||
38 | } | ||
39 | #endif |
webmaster@linux.gr | ViewVC Help |
Powered by ViewVC 1.1.26 |