| 893 | } |
| 894 | |
| 895 | static inline char *shm_strdup(const char *str) |
| 896 | { |
| 897 | char *rval; |
| 898 | int len; |
| 899 | |
| 900 | if (!str) |
| 901 | return NULL; |
| 902 | |
| 903 | len = strlen(str) + 1; |
| 904 | rval = shm_malloc(len); |
| 905 | if (!rval) |
| 906 | return NULL; |
| 907 | memcpy(rval, str, len); |
| 908 | return rval; |
| 909 | } |
| 910 | |
| 911 | /* |
| 912 | * Ensure the given (str *) points to an SHM buffer of at least "size" bytes |