| 35 | } |
| 36 | |
| 37 | size_t |
| 38 | memfwrite(char* ptr, size_t size, size_t nmemb, void* stream) { |
| 39 | MEMFILE* mf = (MEMFILE*) stream; |
| 40 | int block = size * nmemb; |
| 41 | if (!mf) return block; // through |
| 42 | if (!mf->data) |
| 43 | mf->data = (char*) malloc(block); |
| 44 | else |
| 45 | mf->data = (char*) realloc(mf->data, mf->size + block); |
| 46 | if (mf->data) { |
| 47 | memcpy(mf->data + mf->size, ptr, block); |
| 48 | mf->size += block; |
| 49 | } |
| 50 | return block; |
| 51 | } |
| 52 | |
| 53 | char* |
| 54 | memfstrdup(MEMFILE* mf) { |
nothing calls this directly
no outgoing calls
no test coverage detected