| 62 | //////////////////////////////////////////////////////////////////////// |
| 63 | |
| 64 | bool CopyFile(FILE *ofp, FILE *ifp, int length) { |
| 65 | #define BUFFER_SIZE (1024 * 1024) // 1 meg |
| 66 | |
| 67 | char *buffer; |
| 68 | |
| 69 | buffer = (char *)malloc(BUFFER_SIZE); |
| 70 | if (!buffer) |
| 71 | return false; |
| 72 | |
| 73 | while (length) { |
| 74 | size_t n, read_len; |
| 75 | |
| 76 | read_len = min(length, (int)BUFFER_SIZE); |
| 77 | |
| 78 | n = fread(buffer, 1, read_len, ifp); |
| 79 | if (n != read_len) { |
| 80 | free(buffer); |
| 81 | return false; |
| 82 | } |
| 83 | |
| 84 | if (fwrite(buffer, 1, read_len, ofp) != read_len) { |
| 85 | free(buffer); |
| 86 | return false; |
| 87 | } |
| 88 | |
| 89 | length -= read_len; |
| 90 | } |
| 91 | |
| 92 | free(buffer); |
| 93 | |
| 94 | return true; |
| 95 | } |
| 96 | |
| 97 | bool ReadHogHeader(FILE *fp, tHogHeader *header) { |
| 98 | int res = 0; |
no outgoing calls
no test coverage detected