From 73b44c94291c4d086477167a76fd7db239936c3b Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Sun, 6 Mar 2016 18:02:37 +1100 Subject: Turn core_file into a proper class that gets cleaned up safely using unique_ptr Subverted somewhat by chd_file class --- src/lib/util/cdrom.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/lib/util/cdrom.cpp') diff --git a/src/lib/util/cdrom.cpp b/src/lib/util/cdrom.cpp index 10a1828d5e4..8bdf4af6c0f 100644 --- a/src/lib/util/cdrom.cpp +++ b/src/lib/util/cdrom.cpp @@ -115,7 +115,7 @@ struct cdrom_file /** @brief Information describing the track. */ chdcd_track_input_info track_info; /* track info */ /** @brief The fhandle[ CD maximum tracks]. */ - core_file * fhandle[CD_MAX_TRACKS];/* file handle */ + util::core_file::ptr fhandle[CD_MAX_TRACKS];/* file handle */ }; @@ -244,7 +244,7 @@ cdrom_file *cdrom_open(const char *inputfile) for (i = 0; i < file->cdtoc.numtrks; i++) { - file_error filerr = core_fopen(file->track_info.track[i].fname.c_str(), OPEN_FLAG_READ, &file->fhandle[i]); + file_error filerr = util::core_file::open(file->track_info.track[i].fname.c_str(), OPEN_FLAG_READ, file->fhandle[i]); if (filerr != FILERR_NONE) { fprintf(stderr, "Unable to open file: %s\n", file->track_info.track[i].fname.c_str()); @@ -418,7 +418,7 @@ void cdrom_close(cdrom_file *file) { for (int i = 0; i < file->cdtoc.numtrks; i++) { - core_fclose(file->fhandle[i]); + file->fhandle[i].reset(); } } @@ -474,7 +474,7 @@ chd_error read_partial_sector(cdrom_file *file, void *dest, UINT32 lbasector, UI else { // else read from the appropriate file - core_file *srcfile = file->fhandle[tracknum]; + util::core_file &srcfile = *file->fhandle[tracknum]; UINT64 sourcefileoffset = file->track_info.track[tracknum].offset; int bytespersector = file->cdtoc.tracks[tracknum].datasize + file->cdtoc.tracks[tracknum].subsize; @@ -483,8 +483,8 @@ chd_error read_partial_sector(cdrom_file *file, void *dest, UINT32 lbasector, UI // printf("Reading sector %d from track %d at offset %lld\n", chdsector, tracknum, sourcefileoffset); - core_fseek(srcfile, sourcefileoffset, SEEK_SET); - core_fread(srcfile, dest, length); + srcfile.seek(sourcefileoffset, SEEK_SET); + srcfile.read(dest, length); needswap = file->track_info.track[tracknum].swap; } -- cgit v1.2.3-70-g09d2