| 2706 | } |
| 2707 | |
| 2708 | static char *strdup(const char *src) |
| 2709 | { |
| 2710 | if (src == NULL) |
| 2711 | return NULL; |
| 2712 | size_t len = strlen(src); |
| 2713 | char *dst = (char *)malloc(len+1); |
| 2714 | if (dst == NULL) |
| 2715 | return NULL; |
| 2716 | memcpy(dst, src, len+1); |
| 2717 | return dst; |
| 2718 | } |
| 2719 | |
| 2720 | static const char *strerror(int errnum) |
| 2721 | { |