| 62 | } |
| 63 | |
| 64 | static char *string_copy(const char *value) { |
| 65 | if (!value) { |
| 66 | return NULL; |
| 67 | } |
| 68 | size_t length = strlen(value); |
| 69 | char *copy = malloc(length + 1); |
| 70 | if (copy) { |
| 71 | memcpy(copy, value, length + 1); |
| 72 | } |
| 73 | return copy; |
| 74 | } |
| 75 | |
| 76 | static char *string_format(const char *format, ...) { |
| 77 | va_list args; |
no outgoing calls
no test coverage detected