| 69 | } |
| 70 | |
| 71 | static char *string_copy(const char *value) { |
| 72 | if (!value) { |
| 73 | return NULL; |
| 74 | } |
| 75 | size_t length = strlen(value); |
| 76 | char *copy = malloc(length + 1); |
| 77 | if (copy) { |
| 78 | memcpy(copy, value, length + 1); |
| 79 | } |
| 80 | return copy; |
| 81 | } |
| 82 | |
| 83 | static char *string_format(const char *format, ...) { |
| 84 | va_list args; |
no outgoing calls
no test coverage detected