| 229 | } |
| 230 | |
| 231 | static char* getSocketName(const char* str, const char* delims) { |
| 232 | if (str == NULL || delims == NULL) { |
| 233 | return NULL; |
| 234 | } |
| 235 | size_t str_len = strlen(str); |
| 236 | char* result = new char[str_len + 1]; |
| 237 | if (result == NULL) { |
| 238 | return NULL; |
| 239 | } |
| 240 | const char* delim_ptr = strstr(str, delims); |
| 241 | if (delim_ptr != NULL) { |
| 242 | size_t prefix_len = ((unsigned long) delim_ptr - (unsigned long) str) / sizeof(char); |
| 243 | strncpy(result, str, prefix_len); |
| 244 | result[prefix_len] = '\0'; |
| 245 | } else { |
| 246 | strncpy(result, str, str_len); |
| 247 | result[str_len] = '\0'; |
| 248 | } |
| 249 | return result; |
| 250 | } |
| 251 | |
| 252 | class LocalPortCheck { |
| 253 | |