ssize_t DiskCache::write(const void *data, size_t datalen) { assert(data && datalen > 0); if (NULL == mpFile) _createFile(); if (NULL == mpFile) return -1; long curpos = ftell(mpFile); if (curpos < 0) return -10; if (fseek(mpFile, 0, SEEK_END) < 0) return -11; if (fwrite(&datalen, 1, sizeof(datalen), mpFile) != sizeof(datalen)) return -2; if (fwrite(data, 1, datalen, mpFile) != datalen) return -3; fseek(mpFile, curpos, SEEK_SET); return datalen; }
void _createTemporaryFile(char *file_path) { _generateTemporaryPath(file_path); _createFile(file_path); }