hpatch_BOOL _import_fileOpenCreateOrReWrite(const char* fileName_utf8,hpatch_FileHandle* out_fileHandle){ hpatch_FileHandle file=0; assert(out_fileHandle!=0); if (out_fileHandle==0) _file_error(file); file=_import_fileOpenByMode(fileName_utf8,_kFileWriteMode); if (file==0) _file_error(file); *out_fileHandle=file; return hpatch_TRUE; }
hpatch_BOOL _import_fileOpenRead(const char* fileName_utf8,hpatch_FileHandle* out_fileHandle, hpatch_StreamPos_t* out_fileLength){ hpatch_FileHandle file=0; assert(out_fileHandle!=0); if (out_fileHandle==0) _file_error(file); file=_import_fileOpenByMode(fileName_utf8,_kFileReadMode); if (file==0) _file_error(file); if (out_fileLength!=0){ hpatch_StreamPos_t file_length=0; if (!_import_fileSeek64(file,0,SEEK_END)) _file_error(file); if (!_import_fileTell64(file,&file_length)) _file_error(file); if (!_import_fileSeek64(file,0,SEEK_SET)) _file_error(file); *out_fileLength=file_length; } *out_fileHandle=file; return hpatch_TRUE; }
int _file_get_size(char *file_name) { _file_error(file_name); FILE *fp = fopen(file_name, "r"); int counter = 0; while (getc(fp) != EOF) counter++; fclose(fp); return counter; }
char *_file_read_text(char *text, char *file_name) { _file_error(file_name); FILE *fp = fopen(file_name, "r"); char ch; while ((ch = getc(fp)) != EOF) { char s[] = {ch, '\0'}; strcat(text, s); } fclose(fp); return text; }