| 25 | #include <assert.h> |
| 26 | |
| 27 | char* stringCopy(char* dest, const char* src, size_t dest_size, size_t src_size) { |
| 28 | // verify input |
| 29 | assert(dest); |
| 30 | assert(src); |
| 31 | if (!dest || !src || !dest_size) { |
| 32 | return dest; |
| 33 | } |
| 34 | |
| 35 | // copy string |
| 36 | if (src_size < dest_size) { |
| 37 | memcpy(dest, src, src_size); |
| 38 | dest[src_size] = '\0'; |
| 39 | } else { |
| 40 | memcpy(dest, src, dest_size); |
| 41 | dest[dest_size - 1] = '\0'; |
| 42 | } |
| 43 | |
| 44 | return dest; |
| 45 | } |
| 46 | |
| 47 | char* stringCopyUnsafe(char* dest, const char* src, size_t size) { |
| 48 | // verify input |
no outgoing calls
no test coverage detected