summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Nathan Woods <npwoods@mess.org>2016-10-16 10:07:32 -0400
committer Nathan Woods <npwoods@mess.org>2016-10-16 10:07:32 -0400
commite9b551bac93ef97107d40fb80de65e69fa7577dd (patch)
tree8931439c6502135586758a63975bdb7f1d3029d9
parentcdec25b5b615d6a8b7f95377a7648a50476b210c (diff)
[Imgtool] Bulk change: 'imgtool::image *' ==> 'imgtool::image &'
-rw-r--r--src/tools/imgtool/iflopimg.cpp46
-rw-r--r--src/tools/imgtool/iflopimg.h8
-rw-r--r--src/tools/imgtool/imghd.cpp4
-rw-r--r--src/tools/imgtool/imgtool.cpp22
-rw-r--r--src/tools/imgtool/library.cpp20
-rw-r--r--src/tools/imgtool/library.h42
-rw-r--r--src/tools/imgtool/modules/amiga.cpp161
-rw-r--r--src/tools/imgtool/modules/bml3.cpp53
-rw-r--r--src/tools/imgtool/modules/concept.cpp31
-rw-r--r--src/tools/imgtool/modules/cybiko.cpp37
-rw-r--r--src/tools/imgtool/modules/cybikoxt.cpp37
-rw-r--r--src/tools/imgtool/modules/fat.cpp8
-rw-r--r--src/tools/imgtool/modules/hp48.cpp47
-rw-r--r--src/tools/imgtool/modules/hp9845_tape.cpp20
-rw-r--r--src/tools/imgtool/modules/mac.cpp46
-rw-r--r--src/tools/imgtool/modules/os9.cpp49
-rw-r--r--src/tools/imgtool/modules/pc_flop.cpp24
-rw-r--r--src/tools/imgtool/modules/pc_hard.cpp50
-rw-r--r--src/tools/imgtool/modules/prodos.cpp100
-rw-r--r--src/tools/imgtool/modules/psion.cpp37
-rw-r--r--src/tools/imgtool/modules/rsdos.cpp35
-rw-r--r--src/tools/imgtool/modules/thomson.cpp73
-rw-r--r--src/tools/imgtool/modules/ti99.cpp79
-rw-r--r--src/tools/imgtool/modules/ti990hd.cpp37
-rw-r--r--src/tools/imgtool/modules/vzdos.cpp48
25 files changed, 577 insertions, 537 deletions
diff --git a/src/tools/imgtool/iflopimg.cpp b/src/tools/imgtool/iflopimg.cpp
index 4863fd130a3..65762312197 100644
--- a/src/tools/imgtool/iflopimg.cpp
+++ b/src/tools/imgtool/iflopimg.cpp
@@ -102,7 +102,7 @@ struct imgtool_floppy_image
-static imgtoolerr_t imgtool_floppy_open_internal(imgtool::image *image, imgtool::stream::ptr &&stream, int noclose)
+static imgtoolerr_t imgtool_floppy_open_internal(imgtool::image &image, imgtool::stream::ptr &&stream, int noclose)
{
floperr_t ferr;
imgtoolerr_t err = IMGTOOLERR_SUCCESS;
@@ -110,12 +110,12 @@ static imgtoolerr_t imgtool_floppy_open_internal(imgtool::image *image, imgtool:
struct imgtool_floppy_image *fimg;
const imgtool_class *imgclass;
const struct FloppyFormat *format;
- imgtoolerr_t (*open)(imgtool::image *image, imgtool::stream *f);
+ imgtoolerr_t (*open)(imgtool::image &image, imgtool::stream *f);
- fimg = (struct imgtool_floppy_image *) image->extra_bytes();
- imgclass = &image->module().imgclass;
+ fimg = (struct imgtool_floppy_image *) image.extra_bytes();
+ imgclass = &image.module().imgclass;
format = (const struct FloppyFormat *) imgclass->derived_param;
- open = (imgtoolerr_t (*)(imgtool::image *, imgtool::stream *)) imgtool_get_info_ptr(imgclass, IMGTOOLINFO_PTR_FLOPPY_OPEN);
+ open = (imgtoolerr_t (*)(imgtool::image &, imgtool::stream *)) imgtool_get_info_ptr(imgclass, IMGTOOLINFO_PTR_FLOPPY_OPEN);
// extract the pointer
f = stream.release();
@@ -145,14 +145,14 @@ done:
-static imgtoolerr_t imgtool_floppy_open(imgtool::image *image, imgtool::stream::ptr &&stream)
+static imgtoolerr_t imgtool_floppy_open(imgtool::image &image, imgtool::stream::ptr &&stream)
{
return imgtool_floppy_open_internal(image, std::move(stream), FALSE);
}
-static imgtoolerr_t imgtool_floppy_create(imgtool::image *image, imgtool::stream::ptr &&stream, util::option_resolution *opts)
+static imgtoolerr_t imgtool_floppy_create(imgtool::image &image, imgtool::stream::ptr &&stream, util::option_resolution *opts)
{
floperr_t ferr;
imgtoolerr_t err = IMGTOOLERR_SUCCESS;
@@ -160,14 +160,14 @@ static imgtoolerr_t imgtool_floppy_create(imgtool::image *image, imgtool::stream
struct imgtool_floppy_image *fimg;
const imgtool_class *imgclass;
const struct FloppyFormat *format;
- imgtoolerr_t (*create)(imgtool::image *, imgtool::stream *, util::option_resolution *);
- imgtoolerr_t (*open)(imgtool::image *image, imgtool::stream *f);
+ imgtoolerr_t (*create)(imgtool::image &, imgtool::stream *, util::option_resolution *);
+ imgtoolerr_t (*open)(imgtool::image &, imgtool::stream *f);
- fimg = (struct imgtool_floppy_image *) image->extra_bytes();
- imgclass = &image->module().imgclass;
+ fimg = (struct imgtool_floppy_image *) image.extra_bytes();
+ imgclass = &image.module().imgclass;
format = (const struct FloppyFormat *) imgclass->derived_param;
- create = (imgtoolerr_t (*)(imgtool::image *, imgtool::stream *, util::option_resolution *)) imgtool_get_info_ptr(imgclass, IMGTOOLINFO_PTR_FLOPPY_CREATE);
- open = (imgtoolerr_t (*)(imgtool::image *, imgtool::stream *)) imgtool_get_info_ptr(imgclass, IMGTOOLINFO_PTR_FLOPPY_OPEN);
+ create = (imgtoolerr_t (*)(imgtool::image &, imgtool::stream *, util::option_resolution *)) imgtool_get_info_ptr(imgclass, IMGTOOLINFO_PTR_FLOPPY_CREATE);
+ open = (imgtoolerr_t (*)(imgtool::image &, imgtool::stream *)) imgtool_get_info_ptr(imgclass, IMGTOOLINFO_PTR_FLOPPY_OPEN);
// extract the pointer
f = stream.release();
@@ -205,14 +205,14 @@ done:
-static void imgtool_floppy_close(imgtool::image *img)
+static void imgtool_floppy_close(imgtool::image &img)
{
floppy_close(imgtool_floppy(img));
}
-static imgtoolerr_t imgtool_floppy_read_sector(imgtool::image *image, UINT32 track, UINT32 head, UINT32 sector, std::vector<UINT8> &buffer)
+static imgtoolerr_t imgtool_floppy_read_sector(imgtool::image &image, UINT32 track, UINT32 head, UINT32 sector, std::vector<UINT8> &buffer)
{
floperr_t ferr;
UINT32 sector_size;
@@ -236,7 +236,7 @@ static imgtoolerr_t imgtool_floppy_read_sector(imgtool::image *image, UINT32 tra
-static imgtoolerr_t imgtool_floppy_write_sector(imgtool::image *image, UINT32 track, UINT32 head, UINT32 sector, const void *buffer, size_t len, int ddam)
+static imgtoolerr_t imgtool_floppy_write_sector(imgtool::image &image, UINT32 track, UINT32 head, UINT32 sector, const void *buffer, size_t len, int ddam)
{
floperr_t ferr;
@@ -311,16 +311,16 @@ int imgtool_floppy_make_class(int index, imgtool_class *imgclass)
-floppy_image_legacy *imgtool_floppy(imgtool::image *img)
+floppy_image_legacy *imgtool_floppy(imgtool::image &img)
{
struct imgtool_floppy_image *fimg;
- fimg = (struct imgtool_floppy_image *) img->extra_bytes();
+ fimg = (struct imgtool_floppy_image *) img.extra_bytes();
return fimg->floppy;
}
-static imgtoolerr_t imgtool_floppy_transfer_sector_tofrom_stream(imgtool::image *img, int head, int track, int sector, int offset, size_t length, imgtool::stream &f, int direction)
+static imgtoolerr_t imgtool_floppy_transfer_sector_tofrom_stream(imgtool::image &img, int head, int track, int sector, int offset, size_t length, imgtool::stream &f, int direction)
{
floperr_t err;
floppy_image_legacy *floppy;
@@ -353,23 +353,23 @@ done:
-imgtoolerr_t imgtool_floppy_read_sector_to_stream(imgtool::image *img, int head, int track, int sector, int offset, size_t length, imgtool::stream &f)
+imgtoolerr_t imgtool_floppy_read_sector_to_stream(imgtool::image &img, int head, int track, int sector, int offset, size_t length, imgtool::stream &f)
{
return imgtool_floppy_transfer_sector_tofrom_stream(img, head, track, sector, offset, length, f, 1);
}
-imgtoolerr_t imgtool_floppy_write_sector_from_stream(imgtool::image *img, int head, int track, int sector, int offset, size_t length, imgtool::stream &f)
+imgtoolerr_t imgtool_floppy_write_sector_from_stream(imgtool::image &img, int head, int track, int sector, int offset, size_t length, imgtool::stream &f)
{
return imgtool_floppy_transfer_sector_tofrom_stream(img, head, track, sector, offset, length, f, 0);
}
-void *imgtool_floppy_extrabytes(imgtool::image *img)
+void *imgtool_floppy_extrabytes(imgtool::image &img)
{
struct imgtool_floppy_image *fimg;
- fimg = (struct imgtool_floppy_image *) img->extra_bytes();
+ fimg = (struct imgtool_floppy_image *) img.extra_bytes();
return fimg + 1;
}
diff --git a/src/tools/imgtool/iflopimg.h b/src/tools/imgtool/iflopimg.h
index 6981d20960d..078a1247ae3 100644
--- a/src/tools/imgtool/iflopimg.h
+++ b/src/tools/imgtool/iflopimg.h
@@ -29,13 +29,13 @@ enum
int imgtool_floppy_make_class(int index, imgtool_class *imgclass);
-floppy_image_legacy *imgtool_floppy(imgtool::image *img);
+floppy_image_legacy *imgtool_floppy(imgtool::image &img);
imgtoolerr_t imgtool_floppy_error(floperr_t err);
-imgtoolerr_t imgtool_floppy_read_sector_to_stream(imgtool::image *img, int head, int track, int sector, int offset, size_t length, imgtool::stream &f);
-imgtoolerr_t imgtool_floppy_write_sector_from_stream(imgtool::image *img, int head, int track, int sector, int offset, size_t length, imgtool::stream &f);
+imgtoolerr_t imgtool_floppy_read_sector_to_stream(imgtool::image &img, int head, int track, int sector, int offset, size_t length, imgtool::stream &f);
+imgtoolerr_t imgtool_floppy_write_sector_from_stream(imgtool::image &img, int head, int track, int sector, int offset, size_t length, imgtool::stream &f);
-void *imgtool_floppy_extrabytes(imgtool::image *img);
+void *imgtool_floppy_extrabytes(imgtool::image &img);
#endif /* IFLOPIMG_H */
diff --git a/src/tools/imgtool/imghd.cpp b/src/tools/imgtool/imghd.cpp
index 8c3e759a53b..623b4e4c525 100644
--- a/src/tools/imgtool/imghd.cpp
+++ b/src/tools/imgtool/imghd.cpp
@@ -218,7 +218,7 @@ const hard_disk_info *imghd_get_header(struct mess_hard_disk_file *disk)
}
-static imgtoolerr_t mess_hd_image_create(imgtool::image *image, imgtool::stream::ptr &&stream, util::option_resolution *createoptions);
+static imgtoolerr_t mess_hd_image_create(imgtool::image &image, imgtool::stream::ptr &&stream, util::option_resolution *createoptions);
enum
{
@@ -257,7 +257,7 @@ void hd_get_info(const imgtool_class *imgclass, UINT32 state, union imgtoolinfo
-static imgtoolerr_t mess_hd_image_create(imgtool::image *image, imgtool::stream::ptr &&stream, util::option_resolution *createoptions)
+static imgtoolerr_t mess_hd_image_create(imgtool::image &image, imgtool::stream::ptr &&stream, util::option_resolution *createoptions)
{
UINT32 blocksize, cylinders, heads, sectors, seclen;
diff --git a/src/tools/imgtool/imgtool.cpp b/src/tools/imgtool/imgtool.cpp
index 03f2eaed6e7..2ea415ba369 100644
--- a/src/tools/imgtool/imgtool.cpp
+++ b/src/tools/imgtool/imgtool.cpp
@@ -382,7 +382,7 @@ imgtoolerr_t imgtool::image::get_geometry(UINT32 *tracks, UINT32 *heads, UINT32
if (!module().get_geometry)
return (imgtoolerr_t)(IMGTOOLERR_UNIMPLEMENTED | IMGTOOLERR_SRC_FUNCTIONALITY);
- return module().get_geometry(this, tracks, heads, sectors);
+ return module().get_geometry(*this, tracks, heads, sectors);
}
@@ -398,7 +398,7 @@ imgtoolerr_t imgtool::image::read_sector(UINT32 track, UINT32 head,
if (!module().read_sector)
return (imgtoolerr_t)(IMGTOOLERR_UNIMPLEMENTED | IMGTOOLERR_SRC_FUNCTIONALITY);
- return module().read_sector(this, track, head, sector, buffer);
+ return module().read_sector(*this, track, head, sector, buffer);
}
@@ -414,7 +414,7 @@ imgtoolerr_t imgtool::image::write_sector(UINT32 track, UINT32 head,
if (!module().write_sector)
return (imgtoolerr_t)(IMGTOOLERR_UNIMPLEMENTED | IMGTOOLERR_SRC_FUNCTIONALITY);
- return module().write_sector(this, track, head, sector, buffer, len);
+ return module().write_sector(*this, track, head, sector, buffer, len);
}
@@ -445,7 +445,7 @@ imgtoolerr_t imgtool::image::read_block(UINT64 block, void *buffer)
if (!module().read_block)
return (imgtoolerr_t)(IMGTOOLERR_UNIMPLEMENTED | IMGTOOLERR_SRC_FUNCTIONALITY);
- return module().read_block(this, buffer, block);
+ return module().read_block(*this, buffer, block);
}
@@ -459,7 +459,7 @@ imgtoolerr_t imgtool::image::write_block(UINT64 block, const void *buffer)
if (!module().write_block)
return (imgtoolerr_t)(IMGTOOLERR_UNIMPLEMENTED | IMGTOOLERR_SRC_FUNCTIONALITY);
- return module().write_block(this, buffer, block);
+ return module().write_block(*this, buffer, block);
}
@@ -507,7 +507,7 @@ imgtoolerr_t imgtool::image::list_partitions(imgtool_partition_info *partitions,
return (imgtoolerr_t)(IMGTOOLERR_UNIMPLEMENTED | IMGTOOLERR_SRC_FUNCTIONALITY);
memset(partitions, '\0', sizeof(*partitions) * len);
- return module().list_partitions(this, partitions, len);
+ return module().list_partitions(*this, partitions, len);
}
@@ -635,7 +635,7 @@ imgtoolerr_t imgtool::partition::open(imgtool::image &image, int partition_index
// retrieve the info on the partitions
memset(partition_info, '\0', sizeof(partition_info));
- err = image.module().list_partitions(&image, partition_info, ARRAY_LENGTH(partition_info));
+ err = image.module().list_partitions(image, partition_info, ARRAY_LENGTH(partition_info));
if (err)
return err;
@@ -951,8 +951,8 @@ imgtoolerr_t imgtool::image::internal_open(const imgtool_module *module, const c
// actually call create or open
err = (read_or_write == OSD_FOPEN_RW_CREATE)
- ? module->create(image.get(), std::move(stream), createopts)
- : module->open(image.get(), std::move(stream));
+ ? module->create(*image, std::move(stream), createopts)
+ : module->open(*image, std::move(stream));
if (err)
{
err = markerrorsource(err);
@@ -1018,7 +1018,7 @@ imgtool::image::image(const imgtool_module &module, object_pool *pool, void *ext
imgtool::image::~image()
{
if (m_okay_to_close && module().close)
- module().close(this);
+ module().close(*this);
pool_free_lib(m_pool);
}
@@ -1097,7 +1097,7 @@ imgtoolerr_t imgtool::image::info(char *string, size_t len)
{
string[0] = '\0';
if (module().info)
- module().info(this, string, len);
+ module().info(*this, string, len);
}
return IMGTOOLERR_SUCCESS;
}
diff --git a/src/tools/imgtool/library.cpp b/src/tools/imgtool/library.cpp
index 64e14722d68..e0bcd05efc7 100644
--- a/src/tools/imgtool/library.cpp
+++ b/src/tools/imgtool/library.cpp
@@ -69,16 +69,16 @@ void library::add_class(const imgtool_class *imgclass)
module->tracks_are_called_cylinders = imgtool_get_info_int(imgclass, IMGTOOLINFO_INT_TRACKS_ARE_CALLED_CYLINDERS) ? 1 : 0;
module->writing_untested = imgtool_get_info_int(imgclass, IMGTOOLINFO_INT_WRITING_UNTESTED) ? 1 : 0;
module->creation_untested = imgtool_get_info_int(imgclass, IMGTOOLINFO_INT_CREATION_UNTESTED) ? 1 : 0;
- module->open = (imgtoolerr_t (*)(imgtool::image *, imgtool::stream::ptr &&)) imgtool_get_info_fct(imgclass, IMGTOOLINFO_PTR_OPEN);
- module->create = (imgtoolerr_t (*)(imgtool::image *, imgtool::stream::ptr &&, util::option_resolution *)) imgtool_get_info_fct(imgclass, IMGTOOLINFO_PTR_CREATE);
- module->close = (void (*)(imgtool::image *)) imgtool_get_info_fct(imgclass, IMGTOOLINFO_PTR_CLOSE);
- module->info = (void (*)(imgtool::image *, char *, size_t)) imgtool_get_info_fct(imgclass, IMGTOOLINFO_PTR_INFO);
- module->read_sector = (imgtoolerr_t (*)(imgtool::image *, UINT32, UINT32, UINT32, std::vector<UINT8> &)) imgtool_get_info_fct(imgclass, IMGTOOLINFO_PTR_READ_SECTOR);
- module->write_sector = (imgtoolerr_t (*)(imgtool::image *, UINT32, UINT32, UINT32, const void *, size_t)) imgtool_get_info_fct(imgclass, IMGTOOLINFO_PTR_WRITE_SECTOR);
- module->get_geometry = (imgtoolerr_t (*)(imgtool::image *, UINT32 *, UINT32 *, UINT32 *))imgtool_get_info_fct(imgclass, IMGTOOLINFO_PTR_GET_GEOMETRY);
- module->read_block = (imgtoolerr_t (*)(imgtool::image *, void *, UINT64)) imgtool_get_info_fct(imgclass, IMGTOOLINFO_PTR_READ_BLOCK);
- module->write_block = (imgtoolerr_t (*)(imgtool::image *, const void *, UINT64)) imgtool_get_info_fct(imgclass, IMGTOOLINFO_PTR_WRITE_BLOCK);
- module->list_partitions = (imgtoolerr_t (*)(imgtool::image *, imgtool_partition_info *, size_t)) imgtool_get_info_fct(imgclass, IMGTOOLINFO_PTR_LIST_PARTITIONS);
+ module->open = (imgtoolerr_t (*)(imgtool::image &, imgtool::stream::ptr &&)) imgtool_get_info_fct(imgclass, IMGTOOLINFO_PTR_OPEN);
+ module->create = (imgtoolerr_t (*)(imgtool::image &, imgtool::stream::ptr &&, util::option_resolution *)) imgtool_get_info_fct(imgclass, IMGTOOLINFO_PTR_CREATE);
+ module->close = (void (*)(imgtool::image &)) imgtool_get_info_fct(imgclass, IMGTOOLINFO_PTR_CLOSE);
+ module->info = (void (*)(imgtool::image &, char *, size_t)) imgtool_get_info_fct(imgclass, IMGTOOLINFO_PTR_INFO);
+ module->read_sector = (imgtoolerr_t (*)(imgtool::image &, UINT32, UINT32, UINT32, std::vector<UINT8> &)) imgtool_get_info_fct(imgclass, IMGTOOLINFO_PTR_READ_SECTOR);
+ module->write_sector = (imgtoolerr_t (*)(imgtool::image &, UINT32, UINT32, UINT32, const void *, size_t)) imgtool_get_info_fct(imgclass, IMGTOOLINFO_PTR_WRITE_SECTOR);
+ module->get_geometry = (imgtoolerr_t (*)(imgtool::image &, UINT32 *, UINT32 *, UINT32 *))imgtool_get_info_fct(imgclass, IMGTOOLINFO_PTR_GET_GEOMETRY);
+ module->read_block = (imgtoolerr_t (*)(imgtool::image &, void *, UINT64)) imgtool_get_info_fct(imgclass, IMGTOOLINFO_PTR_READ_BLOCK);
+ module->write_block = (imgtoolerr_t (*)(imgtool::image &, const void *, UINT64)) imgtool_get_info_fct(imgclass, IMGTOOLINFO_PTR_WRITE_BLOCK);
+ module->list_partitions = (imgtoolerr_t (*)(imgtool::image &, imgtool_partition_info *, size_t)) imgtool_get_info_fct(imgclass, IMGTOOLINFO_PTR_LIST_PARTITIONS);
module->block_size = imgtool_get_info_int(imgclass, IMGTOOLINFO_INT_BLOCK_SIZE);
module->createimage_optguide = (const util::option_guide *) imgtool_get_info_ptr(imgclass, IMGTOOLINFO_PTR_CREATEIMAGE_OPTGUIDE);
module->createimage_optspec = imgtool_library_strdup_allow_null((const char*)imgtool_get_info_ptr(imgclass, IMGTOOLINFO_STR_CREATEIMAGE_OPTSPEC));
diff --git a/src/tools/imgtool/library.h b/src/tools/imgtool/library.h
index c4bfa48e4f7..474b9f4b0e1 100644
--- a/src/tools/imgtool/library.h
+++ b/src/tools/imgtool/library.h
@@ -254,11 +254,11 @@ union imgtoolinfo
void * f; /* generic function pointers */
char * s; /* generic strings */
- imgtoolerr_t (*open) (imgtool::image *image, imgtool::stream::ptr &&stream);
- void (*close) (imgtool::image *image);
- imgtoolerr_t (*create) (imgtool::image *image, imgtool::stream::ptr &&stream, util::option_resolution *opts);
- imgtoolerr_t (*create_partition) (imgtool::image *image, UINT64 first_block, UINT64 block_count);
- void (*info) (imgtool::image *image, char *string, size_t len);
+ imgtoolerr_t (*open) (imgtool::image &image, imgtool::stream::ptr &&stream);
+ void (*close) (imgtool::image &image);
+ imgtoolerr_t (*create) (imgtool::image &image, imgtool::stream::ptr &&stream, util::option_resolution *opts);
+ imgtoolerr_t (*create_partition) (imgtool::image &image, UINT64 first_block, UINT64 block_count);
+ void (*info) (imgtool::image &image, char *string, size_t len);
imgtoolerr_t (*begin_enum) (imgtool::directory *enumeration, const char *path);
imgtoolerr_t (*next_enum) (imgtool::directory *enumeration, imgtool_dirent *ent);
void (*close_enum) (imgtool::directory *enumeration);
@@ -277,12 +277,12 @@ union imgtoolinfo
imgtoolerr_t (*get_iconinfo) (imgtool::partition *partition, const char *path, imgtool_iconinfo *iconinfo);
imgtoolerr_t (*suggest_transfer) (imgtool::partition *partition, const char *path, imgtool_transfer_suggestion *suggestions, size_t suggestions_length);
imgtoolerr_t (*get_chain) (imgtool::partition *partition, const char *path, imgtool_chainent *chain, size_t chain_size);
- imgtoolerr_t (*get_geometry) (imgtool::image *image, UINT32 *tracks, UINT32 *heads, UINT32 *sectors);
- imgtoolerr_t (*read_sector) (imgtool::image *image, UINT32 track, UINT32 head, UINT32 sector, std::vector<UINT8> &buffer);
- imgtoolerr_t (*write_sector) (imgtool::image *image, UINT32 track, UINT32 head, UINT32 sector, const void *buffer, size_t len, int ddam);
- imgtoolerr_t (*read_block) (imgtool::image *image, void *buffer, UINT64 block);
- imgtoolerr_t (*write_block) (imgtool::image *image, const void *buffer, UINT64 block);
- imgtoolerr_t (*list_partitions) (imgtool::image *image, imgtool_partition_info *partitions, size_t len);
+ imgtoolerr_t (*get_geometry) (imgtool::image &image, UINT32 *tracks, UINT32 *heads, UINT32 *sectors);
+ imgtoolerr_t (*read_sector) (imgtool::image &image, UINT32 track, UINT32 head, UINT32 sector, std::vector<UINT8> &buffer);
+ imgtoolerr_t (*write_sector) (imgtool::image &image, UINT32 track, UINT32 head, UINT32 sector, const void *buffer, size_t len, int ddam);
+ imgtoolerr_t (*read_block) (imgtool::image &image, void *buffer, UINT64 block);
+ imgtoolerr_t (*write_block) (imgtool::image &image, const void *buffer, UINT64 block);
+ imgtoolerr_t (*list_partitions) (imgtool::image &image, imgtool_partition_info *partitions, size_t len);
int (*approve_filename_char)(unicode_char ch);
int (*make_class)(int index, imgtool_class *imgclass);
@@ -347,16 +347,16 @@ struct imgtool_module
unsigned int writing_untested : 1; /* used when we support writing, but not in main build */
unsigned int creation_untested : 1; /* used when we support creation, but not in main build */
- imgtoolerr_t (*open) (imgtool::image *image, imgtool::stream::ptr &&stream);
- void (*close) (imgtool::image *image);
- void (*info) (imgtool::image *image, char *string, size_t len);
- imgtoolerr_t (*create) (imgtool::image *image, imgtool::stream::ptr &&stream, util::option_resolution *opts);
- imgtoolerr_t (*get_geometry) (imgtool::image *image, UINT32 *track, UINT32 *heads, UINT32 *sectors);
- imgtoolerr_t (*read_sector) (imgtool::image *image, UINT32 track, UINT32 head, UINT32 sector, std::vector<UINT8> &buffer);
- imgtoolerr_t (*write_sector) (imgtool::image *image, UINT32 track, UINT32 head, UINT32 sector, const void *buffer, size_t len);
- imgtoolerr_t (*read_block) (imgtool::image *image, void *buffer, UINT64 block);
- imgtoolerr_t (*write_block) (imgtool::image *image, const void *buffer, UINT64 block);
- imgtoolerr_t (*list_partitions)(imgtool::image *image, imgtool_partition_info *partitions, size_t len);
+ imgtoolerr_t (*open) (imgtool::image &image, imgtool::stream::ptr &&stream);
+ void (*close) (imgtool::image &image);
+ void (*info) (imgtool::image &image, char *string, size_t len);
+ imgtoolerr_t (*create) (imgtool::image &image, imgtool::stream::ptr &&stream, util::option_resolution *opts);
+ imgtoolerr_t (*get_geometry) (imgtool::image &image, UINT32 *track, UINT32 *heads, UINT32 *sectors);
+ imgtoolerr_t (*read_sector) (imgtool::image &image, UINT32 track, UINT32 head, UINT32 sector, std::vector<UINT8> &buffer);
+ imgtoolerr_t (*write_sector) (imgtool::image &image, UINT32 track, UINT32 head, UINT32 sector, const void *buffer, size_t len);
+ imgtoolerr_t (*read_block) (imgtool::image &image, void *buffer, UINT64 block);
+ imgtoolerr_t (*write_block) (imgtool::image &image, const void *buffer, UINT64 block);
+ imgtoolerr_t (*list_partitions)(imgtool::image &image, imgtool_partition_info *partitions, size_t len);
UINT32 block_size;
diff --git a/src/tools/imgtool/modules/amiga.cpp b/src/tools/imgtool/modules/amiga.cpp
index ed2080bb994..021f44c6ca8 100644
--- a/src/tools/imgtool/modules/amiga.cpp
+++ b/src/tools/imgtool/modules/amiga.cpp
@@ -230,11 +230,11 @@ struct amiga_iterator
*****************************************************************************/
-static imgtoolerr_t amiga_image_read_sector(imgtool::image* img,
+static imgtoolerr_t amiga_image_read_sector(imgtool::image &img,
UINT32 track, UINT32 head, UINT32 sector, void *buf, size_t len);
-static imgtoolerr_t amiga_image_read_sector(imgtool::image* img,
+static imgtoolerr_t amiga_image_read_sector(imgtool::image &img,
UINT32 track, UINT32 head, UINT32 sector, std::vector<UINT8> &buffer);
-static imgtoolerr_t amiga_image_write_sector(imgtool::image* img,
+static imgtoolerr_t amiga_image_write_sector(imgtool::image &img,
UINT32 track, UINT32 head, UINT32 sector, const void *buf, size_t len, int ddam);
@@ -398,10 +398,17 @@ static UINT32 block_checksum(UINT8 *buffer, int length)
}
+/* Get Amiga floppy data */
+static amiga_floppy *get_amiga_floppy(imgtool::image &image)
+{
+ return (amiga_floppy *)image.extra_bytes();
+}
+
+
/* Returns the total number of blocks in the image */
-static int get_total_blocks(imgtool::image *img)
+static int get_total_blocks(imgtool::image &img)
{
- amiga_floppy *f = (amiga_floppy *)img->extra_bytes();
+ amiga_floppy *f = get_amiga_floppy(img);
return 2 * 80 * f->sectors;
}
@@ -418,12 +425,12 @@ static void find_block(amiga_floppy *f, int block, int *track,
/* Generic read block */
-static imgtoolerr_t read_block(imgtool::image *img, int block, UINT8 *buffer)
+static imgtoolerr_t read_block(imgtool::image &img, int block, UINT8 *buffer)
{
imgtoolerr_t ret;
int track, head, sector;
- find_block((amiga_floppy *) img->extra_bytes(), block, &track, &head, &sector);
+ find_block(get_amiga_floppy(img), block, &track, &head, &sector);
/* get block from image */
ret = amiga_image_read_sector(img, track, head, sector, buffer, BSIZE);
@@ -434,12 +441,12 @@ static imgtoolerr_t read_block(imgtool::image *img, int block, UINT8 *buffer)
/* Generic write block */
-static imgtoolerr_t write_block(imgtool::image *img, int block, const UINT8 *buffer)
+static imgtoolerr_t write_block(imgtool::image &img, int block, const UINT8 *buffer)
{
imgtoolerr_t ret;
int track, head, sector;
- find_block((amiga_floppy *)img->extra_bytes(), block, &track, &head, &sector);
+ find_block(get_amiga_floppy(img), block, &track, &head, &sector);
/* write block to image */
ret = amiga_image_write_sector(img, track, head, sector, buffer, BSIZE, 0);
@@ -450,7 +457,7 @@ static imgtoolerr_t write_block(imgtool::image *img, int block, const UINT8 *buf
/* Return the type a block */
-static sec_type get_block_type(imgtool::image *img, int block)
+static sec_type get_block_type(imgtool::image &img, int block)
{
imgtoolerr_t ret;
UINT8 buffer[BSIZE];
@@ -474,7 +481,7 @@ static sec_type get_block_type(imgtool::image *img, int block)
/* Read a bitmap block */
-static imgtoolerr_t read_bitmap_block(imgtool::image *img, int block, bitmap_block *bm)
+static imgtoolerr_t read_bitmap_block(imgtool::image &img, int block, bitmap_block *bm)
{
imgtoolerr_t ret;
UINT8 buffer[BSIZE];
@@ -492,7 +499,7 @@ static imgtoolerr_t read_bitmap_block(imgtool::image *img, int block, bitmap_blo
/* Write a bitmap block */
-static imgtoolerr_t write_bitmap_block(imgtool::image *img, int block, const bitmap_block *bm)
+static imgtoolerr_t write_bitmap_block(imgtool::image &img, int block, const bitmap_block *bm)
{
imgtoolerr_t ret;
UINT8 buffer[BSIZE];
@@ -530,7 +537,7 @@ static imgtoolerr_t read_bitmap_ext_block(imgtool::image *img, int block, bitmap
/* Read the root block */
-static imgtoolerr_t read_root_block(imgtool::image *img, root_block *root)
+static imgtoolerr_t read_root_block(imgtool::image &img, root_block *root)
{
imgtoolerr_t ret;
UINT8 buffer[BSIZE];
@@ -558,7 +565,7 @@ static imgtoolerr_t read_root_block(imgtool::image *img, root_block *root)
}
-static imgtoolerr_t write_root_block(imgtool::image *img, const root_block *root)
+static imgtoolerr_t write_root_block(imgtool::image &img, const root_block *root)
{
imgtoolerr_t ret;
UINT8 buffer[BSIZE];
@@ -595,7 +602,7 @@ static imgtoolerr_t write_root_block(imgtool::image *img, const root_block *root
/* Read a file block */
-static imgtoolerr_t read_file_block(imgtool::image *img, int block, file_block *fb)
+static imgtoolerr_t read_file_block(imgtool::image &img, int block, file_block *fb)
{
imgtoolerr_t ret;
UINT8 buffer[BSIZE];
@@ -629,7 +636,7 @@ static imgtoolerr_t read_file_block(imgtool::image *img, int block, file_block *
}
-static imgtoolerr_t read_file_ext_block(imgtool::image *img, int block, file_ext_block *fe)
+static imgtoolerr_t read_file_ext_block(imgtool::image &img, int block, file_ext_block *fe)
{
imgtoolerr_t ret;
UINT8 buffer[BSIZE];
@@ -650,7 +657,7 @@ static imgtoolerr_t read_file_ext_block(imgtool::image *img, int block, file_ext
}
-static imgtoolerr_t read_data_block(imgtool::image *img, int block, data_block *d)
+static imgtoolerr_t read_data_block(imgtool::image &img, int block, data_block *d)
{
imgtoolerr_t ret;
UINT8 buffer[BSIZE];
@@ -672,7 +679,7 @@ static imgtoolerr_t read_data_block(imgtool::image *img, int block, data_block *
/* Read a directory block */
-static imgtoolerr_t read_dir_block(imgtool::image *img, int block, dir_block *db)
+static imgtoolerr_t read_dir_block(imgtool::image &img, int block, dir_block *db)
{
imgtoolerr_t ret;
UINT8 buffer[BSIZE];
@@ -702,7 +709,7 @@ static imgtoolerr_t read_dir_block(imgtool::image *img, int block, dir_block *db
}
-static imgtoolerr_t write_dir_block(imgtool::image *img, int block, const dir_block *db)
+static imgtoolerr_t write_dir_block(imgtool::image &img, int block, const dir_block *db)
{
UINT8 buffer[BSIZE];
@@ -735,7 +742,7 @@ static imgtoolerr_t write_dir_block(imgtool::image *img, int block, const dir_bl
}
-static imgtoolerr_t read_hardlink_block(imgtool::image *img, int block, hardlink_block *hl)
+static imgtoolerr_t read_hardlink_block(imgtool::image &img, int block, hardlink_block *hl)
{
imgtoolerr_t ret;
UINT8 buffer[BSIZE];
@@ -763,7 +770,7 @@ static imgtoolerr_t read_hardlink_block(imgtool::image *img, int block, hardlink
}
-static imgtoolerr_t read_softlink_block(imgtool::image *img, int block, softlink_block *sl)
+static imgtoolerr_t read_softlink_block(imgtool::image &img, int block, softlink_block *sl)
{
imgtoolerr_t ret;
UINT8 buffer[BSIZE];
@@ -790,7 +797,7 @@ static imgtoolerr_t read_softlink_block(imgtool::image *img, int block, softlink
/* Returns the disk type */
-static disk_type get_disk_type(imgtool::image *img)
+static disk_type get_disk_type(imgtool::image &img)
{
imgtoolerr_t ret;
UINT8 buffer[BSIZE];
@@ -812,7 +819,7 @@ static disk_type get_disk_type(imgtool::image *img)
/* Returns TRUE if the disk is formatted with the FastFileSystem */
-static int is_ffs(imgtool::image *img)
+static int is_ffs(imgtool::image &img)
{
disk_type t = get_disk_type(img);
@@ -823,7 +830,7 @@ static int is_ffs(imgtool::image *img)
/* Returns TRUE if the disk uses the international mode */
-static int is_intl(imgtool::image *img)
+static int is_intl(imgtool::image &img)
{
disk_type t = get_disk_type(img);
@@ -844,7 +851,7 @@ static int is_dirc(imgtool::image *img)
}
#endif
-static imgtoolerr_t get_hash_table(imgtool::image *img, int block, UINT32 *ht)
+static imgtoolerr_t get_hash_table(imgtool::image &img, int block, UINT32 *ht)
{
imgtoolerr_t ret;
@@ -884,7 +891,7 @@ static imgtoolerr_t get_hash_table(imgtool::image *img, int block, UINT32 *ht)
}
-static imgtoolerr_t set_hash_table(imgtool::image *img, int block, const UINT32 *ht)
+static imgtoolerr_t set_hash_table(imgtool::image &img, int block, const UINT32 *ht)
{
UINT8 buffer[BSIZE];
imgtoolerr_t ret;
@@ -910,7 +917,7 @@ static imgtoolerr_t get_root_hash_table(imgtool::image *img, UINT32 *ht)
}
#endif
-static imgtoolerr_t get_blockname(imgtool::image *img, int block, char *dest)
+static imgtoolerr_t get_blockname(imgtool::image &img, int block, char *dest)
{
UINT8 buffer[BSIZE];
imgtoolerr_t ret;
@@ -927,7 +934,7 @@ static imgtoolerr_t get_blockname(imgtool::image *img, int block, char *dest)
}
-static imgtoolerr_t get_hash_chain(imgtool::image *img, int block, UINT32 *chain)
+static imgtoolerr_t get_hash_chain(imgtool::image &img, int block, UINT32 *chain)
{
UINT8 buffer[BSIZE];
imgtoolerr_t ret;
@@ -943,7 +950,7 @@ static imgtoolerr_t get_hash_chain(imgtool::image *img, int block, UINT32 *chain
}
-static imgtoolerr_t set_hash_chain(imgtool::image *img, int block, UINT32 chain)
+static imgtoolerr_t set_hash_chain(imgtool::image &img, int block, UINT32 chain)
{
UINT8 buffer[BSIZE];
imgtoolerr_t ret;
@@ -963,7 +970,7 @@ static imgtoolerr_t set_hash_chain(imgtool::image *img, int block, UINT32 chain)
}
-static imgtoolerr_t walk_hash_chain(imgtool::image *img, const char *path, int start_block, int *prev_block, int *block)
+static imgtoolerr_t walk_hash_chain(imgtool::image &img, const char *path, int start_block, int *prev_block, int *block)
{
imgtoolerr_t err;
UINT32 hash_chain;
@@ -1065,7 +1072,7 @@ static imgtoolerr_t walk_hash_chain(imgtool::image *img, const char *path, int s
/* Returns the block number for a dir/file/link entry given as NUL delimited
* list of path parts, for example "dir1\0dir2\0dir3" returns the block number
* for directory "dir3" */
-static imgtoolerr_t find_entry(imgtool::image *img, const char *path, int start_block, int *block)
+static imgtoolerr_t find_entry(imgtool::image &img, const char *path, int start_block, int *block)
{
imgtoolerr_t ret;
const char *next_path;
@@ -1127,7 +1134,7 @@ static imgtoolerr_t find_entry(imgtool::image *img, const char *path, int start_
}
-static imgtoolerr_t get_block_chksum(imgtool::image *img, int block, UINT32 *chksum, int bitmap)
+static imgtoolerr_t get_block_chksum(imgtool::image &img, int block, UINT32 *chksum, int bitmap)
{
imgtoolerr_t ret;
UINT8 buffer[BSIZE];
@@ -1153,7 +1160,7 @@ static imgtoolerr_t get_block_chksum(imgtool::image *img, int block, UINT32 *chk
}
-static imgtoolerr_t fix_chksum(imgtool::image *img, int block, int bitmap)
+static imgtoolerr_t fix_chksum(imgtool::image &img, int block, int bitmap)
{
imgtoolerr_t ret;
UINT8 buffer[BSIZE];
@@ -1185,20 +1192,20 @@ static imgtoolerr_t fix_chksum(imgtool::image *img, int block, int bitmap)
}
-static imgtoolerr_t fix_block_chksum(imgtool::image *img, int block)
+static imgtoolerr_t fix_block_chksum(imgtool::image &img, int block)
{
return fix_chksum(img, block, FALSE);
}
-static imgtoolerr_t fix_bitmap_chksum(imgtool::image *img, int block)
+static imgtoolerr_t fix_bitmap_chksum(imgtool::image &img, int block)
{
return fix_chksum(img, block, TRUE);
}
/* Set a block as used */
-static imgtoolerr_t bitmap_mark(imgtool::image *img, int block, int used)
+static imgtoolerr_t bitmap_mark(imgtool::image &img, int block, int used)
{
imgtoolerr_t ret;
bitmap_block bm;
@@ -1242,19 +1249,19 @@ static imgtoolerr_t bitmap_mark(imgtool::image *img, int block, int used)
}
-static imgtoolerr_t bitmap_mark_used(imgtool::image *img, int block)
+static imgtoolerr_t bitmap_mark_used(imgtool::image &img, int block)
{
return bitmap_mark(img, block, TRUE);
}
-static imgtoolerr_t bitmap_mark_free(imgtool::image *img, int block)
+static imgtoolerr_t bitmap_mark_free(imgtool::image &img, int block)
{
return bitmap_mark(img, block, FALSE);
}
-static imgtoolerr_t update_block_modified_date(imgtool::image *img, int block)
+static imgtoolerr_t update_block_modified_date(imgtool::image &img, int block)
{
UINT8 buffer[BSIZE];
imgtoolerr_t ret;
@@ -1281,7 +1288,7 @@ static imgtoolerr_t update_block_modified_date(imgtool::image *img, int block)
}
-static imgtoolerr_t clear_hash_table_entry(imgtool::image *img, int parent, char *filename)
+static imgtoolerr_t clear_hash_table_entry(imgtool::image &img, int parent, char *filename)
{
imgtoolerr_t ret;
UINT32 ht[TSIZE], chain;
@@ -1401,7 +1408,7 @@ static imgtoolerr_t walk_bitmap_ext_blocks(imgtool::image *img, int start, int *
/* Searches for a block marked as free
* TODO: bm_ext support for HDs */
-static imgtoolerr_t find_free_block(imgtool::image *img, int *block)
+static imgtoolerr_t find_free_block(imgtool::image &img, int *block)
{
imgtoolerr_t ret;
root_block root;
@@ -1434,7 +1441,7 @@ static imgtoolerr_t find_free_block(imgtool::image *img, int *block)
}
-static imgtoolerr_t add_entry(imgtool::image *img, int parent, int block)
+static imgtoolerr_t add_entry(imgtool::image &img, int parent, int block)
{
imgtoolerr_t ret;
UINT32 ht[TSIZE];
@@ -1469,7 +1476,7 @@ static imgtoolerr_t add_entry(imgtool::image *img, int parent, int block)
/* Recursively create new directory entries */
-static imgtoolerr_t makedir(imgtool::image *img, const char *path, int parent)
+static imgtoolerr_t makedir(imgtool::image &img, const char *path, int parent)
{
imgtoolerr_t ret;
dir_block dir;
@@ -1523,7 +1530,7 @@ static imgtoolerr_t makedir(imgtool::image *img, const char *path, int parent)
/* Recursively checks the path parts and creates directories for them */
-static imgtoolerr_t checkdir(imgtool::image *img, const char *path, int parent)
+static imgtoolerr_t checkdir(imgtool::image &img, const char *path, int parent)
{
imgtoolerr_t ret;
int block;
@@ -1567,7 +1574,7 @@ static imgtoolerr_t checkdir(imgtool::image *img, const char *path, int parent)
/* Writes the file data from the specified block into the stream */
-static imgtoolerr_t write_file_block_data(imgtool::image *img, int block, int size, imgtool::stream &destf)
+static imgtoolerr_t write_file_block_data(imgtool::image &img, int block, int size, imgtool::stream &destf)
{
imgtoolerr_t ret;
UINT8 buffer[BSIZE];
@@ -1615,7 +1622,7 @@ static imgtoolerr_t write_file_block_data(imgtool::image *img, int block, int si
}
-static imgtoolerr_t walk_data_block_ptr(imgtool::image *img, UINT32 *ptr, int *filesize, imgtool::stream *destf, bool write)
+static imgtoolerr_t walk_data_block_ptr(imgtool::image &img, UINT32 *ptr, int *filesize, imgtool::stream *destf, bool write)
{
int i, blocksize = is_ffs(img) ? BSIZE : BSIZE-24;
imgtoolerr_t ret;
@@ -1646,20 +1653,20 @@ static imgtoolerr_t walk_data_block_ptr(imgtool::image *img, UINT32 *ptr, int *f
}
-static imgtoolerr_t write_data_block_ptr(imgtool::image *img, UINT32 *ptr, int *filesize, imgtool::stream &destf)
+static imgtoolerr_t write_data_block_ptr(imgtool::image &img, UINT32 *ptr, int *filesize, imgtool::stream &destf)
{
return walk_data_block_ptr(img, ptr, filesize, &destf, true);
}
/* Marks all blocks pointed to by the data block pointers as free */
-static imgtoolerr_t clear_data_block_ptr(imgtool::image *img, UINT32 *ptr, int *filesize)
+static imgtoolerr_t clear_data_block_ptr(imgtool::image &img, UINT32 *ptr, int *filesize)
{
return walk_data_block_ptr(img, ptr, filesize, nullptr, false);
}
-static imgtoolerr_t walk_file_ext_data(imgtool::image *img, int block, int *filesize, imgtool::stream *destf, int write)
+static imgtoolerr_t walk_file_ext_data(imgtool::image &img, int block, int *filesize, imgtool::stream *destf, int write)
{
file_ext_block file_ext;
imgtoolerr_t ret;
@@ -1698,20 +1705,20 @@ static imgtoolerr_t walk_file_ext_data(imgtool::image *img, int block, int *file
}
-static imgtoolerr_t write_file_ext_data(imgtool::image *img, int block, int *filesize, imgtool::stream *destf)
+static imgtoolerr_t write_file_ext_data(imgtool::image &img, int block, int *filesize, imgtool::stream *destf)
{
return walk_file_ext_data(img, block, filesize, destf, TRUE);
}
-static imgtoolerr_t clear_file_ext_data(imgtool::image *img, int block, int *filesize)
+static imgtoolerr_t clear_file_ext_data(imgtool::image &img, int block, int *filesize)
{
return walk_file_ext_data(img, block, filesize, NULL, FALSE);
}
/* Updates the disk alteration date stored in the root block */
-static imgtoolerr_t update_disk_alteration_date(imgtool::image *img)
+static imgtoolerr_t update_disk_alteration_date(imgtool::image &img)
{
imgtoolerr_t ret;
root_block root;
@@ -1742,9 +1749,9 @@ static imgtoolerr_t update_disk_alteration_date(imgtool::image *img)
*****************************************************************************/
-static imgtoolerr_t amiga_image_open(imgtool::image *img, imgtool::stream::ptr &&stream)
+static imgtoolerr_t amiga_image_open(imgtool::image &img, imgtool::stream::ptr &&stream)
{
- amiga_floppy *f = (amiga_floppy *) img->extra_bytes();
+ amiga_floppy *f = get_amiga_floppy(img);
UINT64 size = stream->size();
f->sectors = size/BSIZE/80/2;
@@ -1759,15 +1766,15 @@ static imgtoolerr_t amiga_image_open(imgtool::image *img, imgtool::stream::ptr &
}
-static void amiga_image_exit(imgtool::image *img)
+static void amiga_image_exit(imgtool::image &img)
{
- amiga_floppy *f = (amiga_floppy *)img->extra_bytes();
+ amiga_floppy *f = get_amiga_floppy(img);
if (f->stream)
delete f->stream;
}
-static void amiga_image_info(imgtool::image *img, char *string, size_t len)
+static void amiga_image_info(imgtool::image &img, char *string, size_t len)
{
imgtoolerr_t ret;
root_block root;
@@ -1799,9 +1806,9 @@ static void amiga_image_info(imgtool::image *img, char *string, size_t len)
}
-static imgtoolerr_t amiga_image_read_sector(imgtool::image* img, UINT32 track, UINT32 head, UINT32 sector, void *buf, size_t len)
+static imgtoolerr_t amiga_image_read_sector(imgtool::image &img, UINT32 track, UINT32 head, UINT32 sector, void *buf, size_t len)
{
- amiga_floppy *f = (amiga_floppy *) img->extra_bytes();
+ amiga_floppy *f = get_amiga_floppy(img);
/* skip ahead to the area we want to read */
f->stream->seek(track * (head+1) * f->sectors * BSIZE + sector * BSIZE, SEEK_CUR);
@@ -1818,7 +1825,7 @@ static imgtoolerr_t amiga_image_read_sector(imgtool::image* img, UINT32 track, U
}
-static imgtoolerr_t amiga_image_read_sector(imgtool::image* img,
+static imgtoolerr_t amiga_image_read_sector(imgtool::image &img,
UINT32 track, UINT32 head, UINT32 sector, std::vector<UINT8> &buffer)
{
try { buffer.resize(BSIZE); }
@@ -1828,9 +1835,9 @@ static imgtoolerr_t amiga_image_read_sector(imgtool::image* img,
}
-static imgtoolerr_t amiga_image_write_sector(imgtool::image* img, UINT32 track, UINT32 head, UINT32 sector, const void *buf, size_t len, int ddam)
+static imgtoolerr_t amiga_image_write_sector(imgtool::image &img, UINT32 track, UINT32 head, UINT32 sector, const void *buf, size_t len, int ddam)
{
- amiga_floppy *f = (amiga_floppy *) img->extra_bytes();
+ amiga_floppy *f = get_amiga_floppy(img);
/* skip ahead to the area we want to write */
f->stream->seek(track * (head+1) * f->sectors * BSIZE + sector * BSIZE, SEEK_CUR);
@@ -1850,7 +1857,7 @@ static imgtoolerr_t amiga_image_write_sector(imgtool::image* img, UINT32 track,
static imgtoolerr_t amiga_image_beginenum(imgtool::directory *enumeration, const char *path)
{
- int blocks = get_total_blocks(&enumeration->image());
+ int blocks = get_total_blocks(enumeration->image());
imgtoolerr_t ret;
amiga_iterator *iter;
@@ -1864,7 +1871,7 @@ static imgtoolerr_t amiga_image_beginenum(imgtool::directory *enumeration, const
if (path[0])
{
/* search for the directory block, start with the root block */
- ret = find_entry(&enumeration->image(), path, blocks/2, &iter->block);
+ ret = find_entry(enumeration->image(), path, blocks/2, &iter->block);
if (ret) return ret;
}
else
@@ -1892,7 +1899,7 @@ static imgtoolerr_t amiga_image_nextenum(imgtool::directory *enumeration, imgtoo
}
/* get hash table */
- ret = get_hash_table(&enumeration->image(), iter->block, ht);
+ ret = get_hash_table(enumeration->image(), iter->block, ht);
if (ret) return ret;
/* skip empty hash table entries */
@@ -1910,14 +1917,14 @@ static imgtoolerr_t amiga_image_nextenum(imgtool::directory *enumeration, imgtoo
/* get block number */
block = (iter->next_block == 0) ? ht[iter->ht_index] : iter->next_block;
- switch (get_block_type(&enumeration->image(), block))
+ switch (get_block_type(enumeration->image(), block))
{
case ST_FILE:
{
file_block file;
/* get block */
- ret = read_file_block(&enumeration->image(), block, &file);
+ ret = read_file_block(enumeration->image(), block, &file);
if (ret) return ret;
/* fill directory entry */
@@ -1937,7 +1944,7 @@ static imgtoolerr_t amiga_image_nextenum(imgtool::directory *enumeration, imgtoo
dir_block dir;
/* get block */
- ret = read_dir_block(&enumeration->image(), block, &dir);
+ ret = read_dir_block(enumeration->image(), block, &dir);
if (ret) return ret;
/* fill directory entry */
@@ -1957,7 +1964,7 @@ static imgtoolerr_t amiga_image_nextenum(imgtool::directory *enumeration, imgtoo
softlink_block sl;
/* get block */
- ret = read_softlink_block(&enumeration->image(), block, &sl);
+ ret = read_softlink_block(enumeration->image(), block, &sl);
if (ret) return ret;
/* fill directory entry */
@@ -1981,14 +1988,14 @@ static imgtoolerr_t amiga_image_nextenum(imgtool::directory *enumeration, imgtoo
hardlink_block hl;
/* get block */
- ret = read_hardlink_block(&enumeration->image(), block, &hl);
+ ret = read_hardlink_block(enumeration->image(), block, &hl);
if (ret) return ret;
/* get filesize from linked file */
if (!ent->directory)
{
file_block file;
- ret = read_file_block(&enumeration->image(), hl.real_entry, &file);
+ ret = read_file_block(enumeration->image(), hl.real_entry, &file);
if (ret) return ret;
ent->filesize = file.byte_size;
}
@@ -2031,7 +2038,7 @@ static void amiga_image_closeenum(imgtool::directory *enumeration)
static imgtoolerr_t amiga_image_freespace(imgtool::partition *partition, UINT64 *size)
{
imgtoolerr_t ret;
- imgtool::image *image = &partition->image();
+ imgtool::image &image(partition->image());
const int data_size = is_ffs(image) ? BSIZE : BSIZE-24;
root_block root;
bitmap_block bm;
@@ -2084,7 +2091,7 @@ static imgtoolerr_t amiga_image_freespace(imgtool::partition *partition, UINT64
static imgtoolerr_t amiga_image_readfile(imgtool::partition *partition, const char *filename, const char *fork, imgtool::stream &destf)
{
- imgtool::image *img = &partition->image();
+ imgtool::image &img(partition->image());
imgtoolerr_t ret;
file_block file;
int filesize, block;
@@ -2121,7 +2128,7 @@ static imgtoolerr_t amiga_image_readfile(imgtool::partition *partition, const ch
* cleared, but the bitmap blocks are updated. */
static imgtoolerr_t amiga_image_deletefile(imgtool::partition *partition, const char *fname)
{
- imgtool::image *img = &partition->image();
+ imgtool::image &img(partition->image());
imgtoolerr_t ret;
int parent, block;
char filename[31];
@@ -2198,9 +2205,9 @@ static imgtoolerr_t amiga_image_writefile(imgtool::partition *partition, const c
}
-static imgtoolerr_t amiga_image_create(imgtool::image *img, imgtool::stream::ptr &&stream, util::option_resolution *opts)
+static imgtoolerr_t amiga_image_create(imgtool::image &img, imgtool::stream::ptr &&stream, util::option_resolution *opts)
{
- amiga_floppy *f = (amiga_floppy *) img->extra_bytes();
+ amiga_floppy *f = get_amiga_floppy(img);
const std::string &dskname = opts->lookup_string('N');
imgtoolerr_t ret;
UINT8 buffer[BSIZE];
@@ -2306,7 +2313,7 @@ static imgtoolerr_t amiga_image_create(imgtool::image *img, imgtool::stream::ptr
static imgtoolerr_t amiga_image_createdir(imgtool::partition *partition, const char *path)
{
- imgtool::image *img = &partition->image();
+ imgtool::image &img(partition->image());
imgtoolerr_t ret;
/* Create directories */
diff --git a/src/tools/imgtool/modules/bml3.cpp b/src/tools/imgtool/modules/bml3.cpp
index 853b771896a..94a076a72ba 100644
--- a/src/tools/imgtool/modules/bml3.cpp
+++ b/src/tools/imgtool/modules/bml3.cpp
@@ -76,14 +76,14 @@ static imgtoolerr_t bml3_diskimage_deletefile(imgtool::partition *partition, con
Imgtool module code
*********************************************************************/
-static bml3_diskinfo *bml3_get_diskinfo(imgtool::image *image)
+static bml3_diskinfo *bml3_get_diskinfo(imgtool::image &image)
{
return (bml3_diskinfo *) imgtool_floppy_extrabytes(image);
}
-static int max_dirents(imgtool::image *image)
+static int max_dirents(imgtool::image &image)
{
bml3_diskinfo *info = bml3_get_diskinfo(image);
return (16 * info->heads + 1 - info->dirent_start_sector)*(info->sector_size/32);
@@ -91,7 +91,7 @@ static int max_dirents(imgtool::image *image)
-static void dirent_location(imgtool::image *image, int index_loc, UINT8 *head, UINT8 *track, UINT8 *sector, UINT8 *offset)
+static void dirent_location(imgtool::image &image, int index_loc, UINT8 *head, UINT8 *track, UINT8 *sector, UINT8 *offset)
{
bml3_diskinfo *info = bml3_get_diskinfo(image);
*track = 20;
@@ -107,7 +107,7 @@ static void dirent_location(imgtool::image *image, int index_loc, UINT8 *head, U
-static floperr_t get_bml3_dirent(imgtool::image *f, int index_loc, struct bml3_dirent *ent)
+static floperr_t get_bml3_dirent(imgtool::image &f, int index_loc, struct bml3_dirent *ent)
{
floperr_t err;
UINT8 head, track, sector, offset;
@@ -139,7 +139,7 @@ static floperr_t get_bml3_dirent(imgtool::image *f, int index_loc, struct bml3_d
-static floperr_t put_bml3_dirent(imgtool::image *f, int index_loc, const struct bml3_dirent *ent)
+static floperr_t put_bml3_dirent(imgtool::image &f, int index_loc, const struct bml3_dirent *ent)
{
floperr_t err;
UINT8 head, track, sector, offset;
@@ -194,7 +194,7 @@ static void get_dirent_fname(char *fnamebuf, const struct bml3_dirent *ent)
-static imgtoolerr_t lookup_bml3_file(imgtool::image *f, const char *fname, struct bml3_dirent *ent, int *position)
+static imgtoolerr_t lookup_bml3_file(imgtool::image &f, const char *fname, struct bml3_dirent *ent, int *position)
{
int i;
floperr_t ferr;
@@ -229,7 +229,7 @@ static imgtoolerr_t lookup_bml3_file(imgtool::image *f, const char *fname, struc
-static UINT8 get_granule_count(imgtool::image *img)
+static UINT8 get_granule_count(imgtool::image &img)
{
// UINT16 tracks;
UINT16 disk_granules;
@@ -245,7 +245,7 @@ static UINT8 get_granule_count(imgtool::image *img)
}
/* granule_map must be an array of MAX_GRANULEMAP_SIZE bytes */
-static floperr_t get_granule_map(imgtool::image *img, UINT8 *granule_map, UINT8 *granule_count)
+static floperr_t get_granule_map(imgtool::image &img, UINT8 *granule_map, UINT8 *granule_count)
{
bml3_diskinfo *info = bml3_get_diskinfo(img);
UINT8 count;
@@ -260,7 +260,7 @@ static floperr_t get_granule_map(imgtool::image *img, UINT8 *granule_map, UINT8
-static floperr_t put_granule_map(imgtool::image *img, const UINT8 *granule_map, UINT8 granule_count)
+static floperr_t put_granule_map(imgtool::image &img, const UINT8 *granule_map, UINT8 granule_count)
{
bml3_diskinfo *info = bml3_get_diskinfo(img);
return floppy_write_sector(imgtool_floppy(img), 0, 20, info->fat_start_sector, info->fat_start_offset, granule_map, granule_count, 0); /* TODO: pass ddam argument from imgtool */
@@ -269,7 +269,7 @@ static floperr_t put_granule_map(imgtool::image *img, const UINT8 *granule_map,
-static void granule_location(imgtool::image *image, UINT8 granule, UINT8 *head, UINT8 *track, UINT8 *sector)
+static void granule_location(imgtool::image &image, UINT8 granule, UINT8 *head, UINT8 *track, UINT8 *sector)
{
bml3_diskinfo *info = bml3_get_diskinfo(image);
UINT16 abs_track = granule * info->granule_sectors / 16;
@@ -283,7 +283,7 @@ static void granule_location(imgtool::image *image, UINT8 granule, UINT8 *head,
-static imgtoolerr_t transfer_granule(imgtool::image *img, UINT8 granule, int length, imgtool::stream &f, imgtoolerr_t (*proc)(imgtool::image *, int, int, int, int, size_t, imgtool::stream &))
+static imgtoolerr_t transfer_granule(imgtool::image &img, UINT8 granule, int length, imgtool::stream &f, imgtoolerr_t (*proc)(imgtool::image &, int, int, int, int, size_t, imgtool::stream &))
{
imgtoolerr_t err = IMGTOOLERR_SUCCESS;
UINT8 head, track, sector;
@@ -294,21 +294,21 @@ static imgtoolerr_t transfer_granule(imgtool::image *img, UINT8 granule, int len
}
-static imgtoolerr_t transfer_from_granule(imgtool::image *img, UINT8 granule, int length, imgtool::stream &destf)
+static imgtoolerr_t transfer_from_granule(imgtool::image &img, UINT8 granule, int length, imgtool::stream &destf)
{
return transfer_granule(img, granule, length, destf, imgtool_floppy_read_sector_to_stream);
}
-static imgtoolerr_t transfer_to_granule(imgtool::image *img, UINT8 granule, int length, imgtool::stream &sourcef)
+static imgtoolerr_t transfer_to_granule(imgtool::image &img, UINT8 granule, int length, imgtool::stream &sourcef)
{
return transfer_granule(img, granule, length, sourcef, imgtool_floppy_write_sector_from_stream);
}
-static floperr_t read_granule(imgtool::image *img, UINT8 granule, int offset, int length, UINT8 *buf)
+static floperr_t read_granule(imgtool::image &img, UINT8 granule, int offset, int length, UINT8 *buf)
{
UINT8 head, track, sector;
granule_location(img, granule, &head, &track, &sector);
@@ -317,7 +317,7 @@ static floperr_t read_granule(imgtool::image *img, UINT8 granule, int offset, in
-static floperr_t write_granule(imgtool::image *img, UINT8 granule, int offset, int length, const UINT8 *buf)
+static floperr_t write_granule(imgtool::image &img, UINT8 granule, int offset, int length, const UINT8 *buf)
{
UINT8 head, track, sector;
granule_location(img, granule, &head, &track, &sector);
@@ -326,7 +326,7 @@ static floperr_t write_granule(imgtool::image *img, UINT8 granule, int offset, i
-static imgtoolerr_t list_granules(struct bml3_dirent *ent, imgtool::image *img, struct granule_list_t *granule_list)
+static imgtoolerr_t list_granules(struct bml3_dirent *ent, imgtool::image &img, struct granule_list_t *granule_list)
{
floperr_t ferr;
UINT8 max_granules;
@@ -368,7 +368,7 @@ static imgtoolerr_t list_granules(struct bml3_dirent *ent, imgtool::image *img,
-static imgtoolerr_t get_file_size(struct bml3_dirent *ent, imgtool::image *img, const struct granule_list_t *granule_list, size_t *size)
+static imgtoolerr_t get_file_size(struct bml3_dirent *ent, imgtool::image &img, const struct granule_list_t *granule_list, size_t *size)
{
floperr_t ferr;
size_t last_sector_bytes = 0;
@@ -422,7 +422,7 @@ static imgtoolerr_t get_file_size(struct bml3_dirent *ent, imgtool::image *img,
-static imgtoolerr_t process_bml3_file(struct bml3_dirent *ent, imgtool::image *img, imgtool::stream *destf, size_t *size)
+static imgtoolerr_t process_bml3_file(struct bml3_dirent *ent, imgtool::image &img, imgtool::stream *destf, size_t *size)
{
imgtoolerr_t err;
size_t remaining_size, granule_size;
@@ -498,7 +498,7 @@ static imgtoolerr_t prepare_dirent(UINT8 variant, struct bml3_dirent *ent, const
-static imgtoolerr_t bml3_diskimage_open(imgtool::image *image, imgtool::stream::ptr &&dummy)
+static imgtoolerr_t bml3_diskimage_open(imgtool::image &image, imgtool::stream::ptr &&dummy)
{
// imgtoolerr_t err;
floperr_t ferr;
@@ -556,9 +556,8 @@ static imgtoolerr_t bml3_diskimage_nextenum(imgtool::directory *enumeration, img
struct bml3_direnum *rsenum;
struct bml3_dirent rsent;
char fname[13];
- imgtool::image *image;
+ imgtool::image &image(enumeration->image());
- image = &enumeration->image();
rsenum = (struct bml3_direnum *) enumeration->extra_bytes();
/* Did we hit the end of file before? */
@@ -620,7 +619,7 @@ static imgtoolerr_t bml3_diskimage_freespace(imgtool::partition *partition, UINT
size_t s = 0;
UINT8 granule_count;
UINT8 granule_map[MAX_GRANULEMAP_SIZE];
- imgtool::image *image = &partition->image();
+ imgtool::image &image(partition->image());
bml3_diskinfo *info = bml3_get_diskinfo(image);
ferr = get_granule_map(image, granule_map, &granule_count);
@@ -638,7 +637,7 @@ static imgtoolerr_t bml3_diskimage_freespace(imgtool::partition *partition, UINT
-static imgtoolerr_t delete_entry(imgtool::image *img, struct bml3_dirent *ent, int pos)
+static imgtoolerr_t delete_entry(imgtool::image &img, struct bml3_dirent *ent, int pos)
{
floperr_t ferr;
unsigned char g, i;
@@ -678,7 +677,7 @@ static imgtoolerr_t bml3_diskimage_readfile(imgtool::partition *partition, const
imgtoolerr_t err;
struct bml3_dirent ent;
size_t size;
- imgtool::image *img = &partition->image();
+ imgtool::image &img(partition->image());
err = lookup_bml3_file(img, fname, &ent, nullptr);
if (err)
@@ -700,7 +699,7 @@ static imgtoolerr_t bml3_diskimage_writefile(imgtool::partition *partition, cons
{
floperr_t ferr;
imgtoolerr_t err;
- imgtool::image *img = &partition->image();
+ imgtool::image &img(partition->image());
bml3_diskinfo *info = bml3_get_diskinfo(img);
struct bml3_dirent ent, ent2;
size_t i;
@@ -820,7 +819,7 @@ static imgtoolerr_t bml3_diskimage_writefile(imgtool::partition *partition, cons
static imgtoolerr_t bml3_diskimage_deletefile(imgtool::partition *partition, const char *fname)
{
imgtoolerr_t err;
- imgtool::image *image = &partition->image();
+ imgtool::image &image(partition->image());
int pos = 0;
struct bml3_dirent ent;
@@ -836,7 +835,7 @@ static imgtoolerr_t bml3_diskimage_deletefile(imgtool::partition *partition, con
static imgtoolerr_t bml3_diskimage_suggesttransfer(imgtool::partition *partition, const char *fname, imgtool_transfer_suggestion *suggestions, size_t suggestions_length)
{
imgtoolerr_t err;
- imgtool::image *image = &partition->image();
+ imgtool::image &image(partition->image());
struct bml3_dirent ent;
int pos;
diff --git a/src/tools/imgtool/modules/concept.cpp b/src/tools/imgtool/modules/concept.cpp
index 7d5d65f1914..1c0822e4860 100644
--- a/src/tools/imgtool/modules/concept.cpp
+++ b/src/tools/imgtool/modules/concept.cpp
@@ -126,9 +126,9 @@ struct concept_iterator
};
-static imgtoolerr_t concept_image_init(imgtool::image *img, imgtool::stream::ptr &&stream);
-static void concept_image_exit(imgtool::image *img);
-static void concept_image_info(imgtool::image *img, char *string, size_t len);
+static imgtoolerr_t concept_image_init(imgtool::image &img, imgtool::stream::ptr &&stream);
+static void concept_image_exit(imgtool::image &img);
+static void concept_image_info(imgtool::image &img, char *string, size_t len);
static imgtoolerr_t concept_image_beginenum(imgtool::directory *enumeration, const char *path);
static imgtoolerr_t concept_image_nextenum(imgtool::directory *enumeration, imgtool_dirent *ent);
static void concept_image_closeenum(imgtool::directory *enumeration);
@@ -169,6 +169,11 @@ void concept_get_info(const imgtool_class *imgclass, UINT32 state, union imgtool
}
}
+static concept_image *get_concept_image(imgtool::image &image)
+{
+ return (concept_image *)image.extra_bytes();
+}
+
/*
read_physical_record
@@ -260,9 +265,9 @@ static int get_catalog_entry(concept_image *image, const unsigned char *filename
/*
Open a file as a concept_image.
*/
-static imgtoolerr_t concept_image_init(imgtool::image *img, imgtool::stream::ptr &&stream)
+static imgtoolerr_t concept_image_init(imgtool::image &img, imgtool::stream::ptr &&stream)
{
- concept_image *image = (concept_image *) img->extra_bytes();
+ concept_image *image = get_concept_image(img);
int reply;
int i;
unsigned totphysrecs;
@@ -294,9 +299,9 @@ static imgtoolerr_t concept_image_init(imgtool::image *img, imgtool::stream::ptr
/*
close a concept_image
*/
-static void concept_image_exit(imgtool::image *img)
+static void concept_image_exit(imgtool::image &img)
{
- /*concept_image *image = (concept_image *) img->extra_bytes();*/
+ /*concept_image *image = get_concept_image(img);*/
}
/*
@@ -304,9 +309,9 @@ static void concept_image_exit(imgtool::image *img)
Currently returns the volume name
*/
-static void concept_image_info(imgtool::image *img, char *string, size_t len)
+static void concept_image_info(imgtool::image &img, char *string, size_t len)
{
- concept_image *image = (concept_image *) img->extra_bytes();
+ concept_image *image = get_concept_image(img);
char vol_name[8];
memcpy(vol_name, image->dev_dir.vol_hdr.volname + 1, image->dev_dir.vol_hdr.volname[0]);
@@ -401,8 +406,8 @@ static void concept_image_closeenum(imgtool::directory *enumeration)
*/
static imgtoolerr_t concept_image_freespace(imgtool::partition *partition, UINT64 *size)
{
- imgtool::image *img = &partition->image();
- concept_image *image = (concept_image*) img;
+ imgtool::image &img(partition->image());
+ concept_image *image = get_concept_image(img);
int free_blocks;
int i;
@@ -427,8 +432,8 @@ static imgtoolerr_t concept_image_freespace(imgtool::partition *partition, UINT6
*/
static imgtoolerr_t concept_image_readfile(imgtool::partition *partition, const char *filename, const char *fork, imgtool::stream &destf)
{
- imgtool::image *img = &partition->image();
- concept_image *image = (concept_image *) img->extra_bytes();
+ imgtool::image &img(partition->image());
+ concept_image *image = get_concept_image(img);
size_t filename_len = strlen(filename);
unsigned char concept_fname[16];
int catalog_index;
diff --git a/src/tools/imgtool/modules/cybiko.cpp b/src/tools/imgtool/modules/cybiko.cpp
index b72816ff92e..ab2806a5e83 100644
--- a/src/tools/imgtool/modules/cybiko.cpp
+++ b/src/tools/imgtool/modules/cybiko.cpp
@@ -58,6 +58,11 @@ enum
#define FILE_HEADER_SIZE 0x48
+static cybiko_file_system *get_cfs(imgtool::image &image)
+{
+ return (cybiko_file_system*)image.extra_bytes();
+}
+
// 2208988800 is the number of seconds between 1900/01/01 and 1970/01/01
static time_t time_crack( UINT32 cfs_time)
@@ -345,9 +350,9 @@ static int flash_option_to_flash_type( int option)
}
}
-static imgtoolerr_t cybiko_image_open(imgtool::image *image, imgtool::stream::ptr &&stream)
+static imgtoolerr_t cybiko_image_open(imgtool::image &image, imgtool::stream::ptr &&stream)
{
- cybiko_file_system *cfs = (cybiko_file_system*)image->extra_bytes();
+ cybiko_file_system *cfs = get_cfs(image);
int flash_type;
// init
flash_type = flash_size_to_flash_type(stream->size());
@@ -358,15 +363,15 @@ static imgtoolerr_t cybiko_image_open(imgtool::image *image, imgtool::stream::pt
return IMGTOOLERR_SUCCESS;
}
-static void cybiko_image_close( imgtool::image *image)
+static void cybiko_image_close(imgtool::image &image)
{
- cybiko_file_system *cfs = (cybiko_file_system*)image->extra_bytes();
+ cybiko_file_system *cfs = get_cfs(image);
delete cfs->stream;
}
-static imgtoolerr_t cybiko_image_create( imgtool::image *image, imgtool::stream::ptr &&stream, util::option_resolution *opts)
+static imgtoolerr_t cybiko_image_create(imgtool::image &image, imgtool::stream::ptr &&stream, util::option_resolution *opts)
{
- cybiko_file_system *cfs = (cybiko_file_system*)image->extra_bytes();
+ cybiko_file_system *cfs = get_cfs(image);
int flash_type;
// init
flash_type = flash_option_to_flash_type(opts->lookup_int('F'));
@@ -386,8 +391,8 @@ static imgtoolerr_t cybiko_image_begin_enum( imgtool::directory *enumeration, co
static imgtoolerr_t cybiko_image_next_enum( imgtool::directory *enumeration, imgtool_dirent *ent)
{
- imgtool::image *image = &enumeration->image();
- cybiko_file_system *cfs = (cybiko_file_system*)image->extra_bytes();
+ imgtool::image &image(enumeration->image());
+ cybiko_file_system *cfs = get_cfs(image);
cybiko_iter *iter = (cybiko_iter*)enumeration->extra_bytes();
UINT8 buffer[MAX_PAGE_SIZE];
UINT16 file_id = INVALID_FILE_ID;
@@ -425,16 +430,16 @@ static void cybiko_image_close_enum( imgtool::directory *enumeration)
static imgtoolerr_t cybiko_image_free_space(imgtool::partition *partition, UINT64 *size)
{
- imgtool::image *image = &partition->image();
- cybiko_file_system *cfs = (cybiko_file_system*)image->extra_bytes();
+ imgtool::image &image(partition->image());
+ cybiko_file_system *cfs = get_cfs(image);
if (size) *size = cfs_calc_free_space( cfs, cfs_calc_free_blocks( cfs));
return IMGTOOLERR_SUCCESS;
}
static imgtoolerr_t cybiko_image_read_file(imgtool::partition *partition, const char *filename, const char *fork, imgtool::stream &destf)
{
- imgtool::image *image = &partition->image();
- cybiko_file_system *cfs = (cybiko_file_system*)image->extra_bytes();
+ imgtool::image &image(partition->image());
+ cybiko_file_system *cfs = get_cfs(image);
UINT8 buffer[MAX_PAGE_SIZE];
UINT16 file_id, part_id = 0, old_part_id;
int i;
@@ -460,8 +465,8 @@ static imgtoolerr_t cybiko_image_read_file(imgtool::partition *partition, const
static imgtoolerr_t cybiko_image_write_file(imgtool::partition *partition, const char *filename, const char *fork, imgtool::stream &sourcef, util::option_resolution *opts)
{
- imgtool::image *image = &partition->image();
- cybiko_file_system *cfs = (cybiko_file_system*)image->extra_bytes();
+ imgtool::image &image(partition->image());
+ cybiko_file_system *cfs = get_cfs(image);
UINT8 buffer[MAX_PAGE_SIZE];
UINT16 file_id, part_id = 0, free_blocks;
UINT64 bytes_left;
@@ -520,8 +525,8 @@ static imgtoolerr_t cybiko_image_write_file(imgtool::partition *partition, const
static imgtoolerr_t cybiko_image_delete_file( imgtool::partition *partition, const char *filename)
{
- imgtool::image *image = &partition->image();
- cybiko_file_system *cfs = (cybiko_file_system*)image->extra_bytes();
+ imgtool::image &image(partition->image());
+ cybiko_file_system *cfs = get_cfs(image);
UINT16 file_id;
// find file
if (!cfs_file_find( cfs, filename, &file_id)) return IMGTOOLERR_FILENOTFOUND;
diff --git a/src/tools/imgtool/modules/cybikoxt.cpp b/src/tools/imgtool/modules/cybikoxt.cpp
index 475d0449136..1ea7ba6be35 100644
--- a/src/tools/imgtool/modules/cybikoxt.cpp
+++ b/src/tools/imgtool/modules/cybikoxt.cpp
@@ -50,6 +50,11 @@ enum
#define FILE_HEADER_SIZE 0x48
+static cybiko_file_system *get_cfs(imgtool::image &image)
+{
+ return (cybiko_file_system*)image.extra_bytes();
+}
+
// 2208988800 is the number of seconds between 1900/01/01 and 1970/01/01
static time_t time_crack( UINT32 cfs_time)
@@ -319,9 +324,9 @@ static UINT32 cfs_calc_free_space( cybiko_file_system *cfs, UINT16 blocks)
return free_space;
}
-static imgtoolerr_t cybiko_image_open(imgtool::image *image, imgtool::stream::ptr &&stream)
+static imgtoolerr_t cybiko_image_open(imgtool::image &image, imgtool::stream::ptr &&stream)
{
- cybiko_file_system *cfs = (cybiko_file_system*)image->extra_bytes();
+ cybiko_file_system *cfs = get_cfs(image);
// init
if (!cfs_init(*cfs, std::move(stream))) return IMGTOOLERR_CORRUPTIMAGE;
// verify
@@ -330,15 +335,15 @@ static imgtoolerr_t cybiko_image_open(imgtool::image *image, imgtool::stream::pt
return IMGTOOLERR_SUCCESS;
}
-static void cybiko_image_close(imgtool::image *image)
+static void cybiko_image_close(imgtool::image &image)
{
- cybiko_file_system *cfs = (cybiko_file_system*)image->extra_bytes();
+ cybiko_file_system *cfs = get_cfs(image);
delete cfs->stream;
}
-static imgtoolerr_t cybiko_image_create(imgtool::image *image, imgtool::stream::ptr &&stream, util::option_resolution *opts)
+static imgtoolerr_t cybiko_image_create(imgtool::image &image, imgtool::stream::ptr &&stream, util::option_resolution *opts)
{
- cybiko_file_system *cfs = (cybiko_file_system*)image->extra_bytes();
+ cybiko_file_system *cfs = get_cfs(image);
// init
if (!cfs_init(*cfs, std::move(stream))) return IMGTOOLERR_CORRUPTIMAGE;
// format
@@ -356,8 +361,8 @@ static imgtoolerr_t cybiko_image_begin_enum( imgtool::directory *enumeration, co
static imgtoolerr_t cybiko_image_next_enum( imgtool::directory *enumeration, imgtool_dirent *ent)
{
- imgtool::image *image = &enumeration->image();
- cybiko_file_system *cfs = (cybiko_file_system*)image->extra_bytes();
+ imgtool::image &image(enumeration->image());
+ cybiko_file_system *cfs = get_cfs(image);
cybiko_iter *iter = (cybiko_iter*)enumeration->extra_bytes();
UINT8 buffer[MAX_PAGE_SIZE];
UINT16 file_id = INVALID_FILE_ID;
@@ -395,16 +400,16 @@ static void cybiko_image_close_enum( imgtool::directory *enumeration)
static imgtoolerr_t cybiko_image_free_space( imgtool::partition *partition, UINT64 *size)
{
- imgtool::image *image = &partition->image();
- cybiko_file_system *cfs = (cybiko_file_system*)image->extra_bytes();
+ imgtool::image &image(partition->image());
+ cybiko_file_system *cfs = get_cfs(image);
if (size) *size = cfs_calc_free_space( cfs, cfs_calc_free_blocks( cfs));
return IMGTOOLERR_SUCCESS;
}
static imgtoolerr_t cybiko_image_read_file(imgtool::partition *partition, const char *filename, const char *fork, imgtool::stream &destf)
{
- imgtool::image *image = &partition->image();
- cybiko_file_system *cfs = (cybiko_file_system*)image->extra_bytes();
+ imgtool::image &image(partition->image());
+ cybiko_file_system *cfs = get_cfs(image);
UINT8 buffer[MAX_PAGE_SIZE];
UINT16 file_id, part_id = 0, old_part_id;
int i;
@@ -432,8 +437,8 @@ static imgtoolerr_t cybiko_image_read_file(imgtool::partition *partition, const
static imgtoolerr_t cybiko_image_write_file(imgtool::partition *partition, const char *filename, const char *fork, imgtool::stream &sourcef, util::option_resolution *opts)
{
- imgtool::image *image = &partition->image();
- cybiko_file_system *cfs = (cybiko_file_system*)image->extra_bytes();
+ imgtool::image &image(partition->image());
+ cybiko_file_system *cfs = get_cfs(image);
UINT8 buffer[MAX_PAGE_SIZE];
UINT16 file_id, part_id = 0, free_blocks;
UINT64 bytes_left;
@@ -495,8 +500,8 @@ static imgtoolerr_t cybiko_image_write_file(imgtool::partition *partition, const
static imgtoolerr_t cybiko_image_delete_file( imgtool::partition *partition, const char *filename)
{
- imgtool::image *image = &partition->image();
- cybiko_file_system *cfs = (cybiko_file_system*)image->extra_bytes();
+ imgtool::image &image(partition->image());
+ cybiko_file_system *cfs = get_cfs(image);
UINT16 file_id;
// check filename
if (strlen(filename) > 58) return IMGTOOLERR_BADFILENAME;
diff --git a/src/tools/imgtool/modules/fat.cpp b/src/tools/imgtool/modules/fat.cpp
index 2fcdf3f5306..0a6d9250333 100644
--- a/src/tools/imgtool/modules/fat.cpp
+++ b/src/tools/imgtool/modules/fat.cpp
@@ -447,7 +447,7 @@ static imgtoolerr_t fat_partition_open(imgtool::partition *partition, UINT64 fir
-static imgtoolerr_t fat_partition_create(imgtool::image *image, UINT64 first_block, UINT64 block_count)
+static imgtoolerr_t fat_partition_create(imgtool::image &image, UINT64 first_block, UINT64 block_count)
{
imgtoolerr_t err;
UINT32 heads, tracks, sectors_per_track;
@@ -469,7 +469,7 @@ static imgtoolerr_t fat_partition_create(imgtool::image *image, UINT64 first_blo
return IMGTOOLERR_PARAMTOOLARGE;
/* get the geometry */
- err = image->get_geometry(&tracks, &heads, &sectors_per_track);
+ err = image.get_geometry(&tracks, &heads, &sectors_per_track);
if (err)
return err;
@@ -560,14 +560,14 @@ static imgtoolerr_t fat_partition_create(imgtool::image *image, UINT64 first_blo
header[2] = (UINT8) ((boot_sector_offset - 2) >> 8); /* (offset) */
}
- err = image->write_block(first_block, header);
+ err = image.write_block(first_block, header);
if (err)
return err;
/* clear out file allocation table */
for (i = reserved_sectors; i < (reserved_sectors + sectors_per_fat * fat_count + root_dir_sectors); i++)
{
- err = image->clear_block(first_block + i, 0);
+ err = image.clear_block(first_block + i, 0);
if (err)
return err;
}
diff --git a/src/tools/imgtool/modules/hp48.cpp b/src/tools/imgtool/modules/hp48.cpp
index e6929f2e967..f3af5d7feba 100644
--- a/src/tools/imgtool/modules/hp48.cpp
+++ b/src/tools/imgtool/modules/hp48.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Antoine Mine
/****************************************************************************
- hp48.c
+ hp48.cpp
Memory cards for HP48 SX/GX
@@ -150,6 +150,11 @@ static const char hp48_create_optionspec[] = "S32/64/[128]/256/512/1024/2048/409
*****************************************************************************/
+static hp48_card *get_hp48_card(imgtool::image &image)
+{
+ return (hp48_card*) image.extra_bytes();
+}
+
/* byes to nibbles */
static void unpack(UINT8* dst, UINT8* src, int nsize)
{
@@ -327,9 +332,9 @@ static UINT16 crc(UINT8* data, int len)
*****************************************************************************/
-static imgtoolerr_t hp48_open(imgtool::image *img, imgtool::stream::ptr &&stream)
+static imgtoolerr_t hp48_open(imgtool::image &img, imgtool::stream::ptr &&stream)
{
- hp48_card* c = (hp48_card*) img->extra_bytes();
+ hp48_card* c = get_hp48_card(img);
int size = stream->size();
/* check that size is a power of 2 between 32 KB and 4 MG */
@@ -364,11 +369,11 @@ static imgtoolerr_t hp48_open(imgtool::image *img, imgtool::stream::ptr &&stream
-static imgtoolerr_t hp48_create(imgtool::image* img,
+static imgtoolerr_t hp48_create(imgtool::image &img,
imgtool::stream::ptr &&stream,
util::option_resolution *opts)
{
- hp48_card* c = (hp48_card*) img->extra_bytes();
+ hp48_card* c = get_hp48_card(img);
int size;
size = opts->lookup_int('S');
@@ -391,9 +396,9 @@ static imgtoolerr_t hp48_create(imgtool::image* img,
-static void hp48_close(imgtool::image *img)
+static void hp48_close(imgtool::image &img)
{
- hp48_card* c = (hp48_card*) img->extra_bytes();
+ hp48_card* c = get_hp48_card(img);
if ( c->modified )
{
@@ -415,11 +420,11 @@ static void hp48_close(imgtool::image *img)
void hp48_partition_get_info(const imgtool_class *imgclass, UINT32 state, union imgtoolinfo *info);
-static imgtoolerr_t hp48_list_partitions(imgtool::image *img,
+static imgtoolerr_t hp48_list_partitions(imgtool::image &img,
imgtool_partition_info *partitions,
size_t len)
{
- hp48_card* c = (hp48_card*) img->extra_bytes();
+ hp48_card* c = get_hp48_card(img);
int i;
for ( i = 0; i < len && i * MAX_PORT_SIZE < c->size ; i++ )
@@ -441,8 +446,8 @@ static imgtoolerr_t hp48_list_partitions(imgtool::image *img,
static imgtoolerr_t hp48_open_partition(imgtool::partition *part,
UINT64 first_block, UINT64 block_count)
{
- imgtool::image* img = &part->image();
- hp48_card* c = (hp48_card*) img->extra_bytes();
+ imgtool::image &img(part->image());
+ hp48_card* c = get_hp48_card(img);
hp48_partition* p = (hp48_partition*) part->extra_bytes();
if ( first_block + block_count > c->size )
@@ -473,8 +478,8 @@ static imgtoolerr_t hp48_nextenum(imgtool::directory *enumeration,
imgtool_dirent *ent)
{
imgtool::partition *part = &enumeration->partition();
- //imgtool::image* img = &part->image();
- //hp48_card* c = (hp48_card*) img->extra_bytes();
+ //imgtool::image &img(part->image());
+ //hp48_card* c = get_hp48_card(img);
hp48_partition* p = (hp48_partition*) part->extra_bytes();
hp48_directory* d = (hp48_directory*) enumeration->extra_bytes();
@@ -530,8 +535,8 @@ static imgtoolerr_t hp48_nextenum(imgtool::directory *enumeration,
static imgtoolerr_t hp48_freespace(imgtool::partition *part, UINT64 *size)
{
- //imgtool::image* img = &part->image();
- //hp48_card* c = (hp48_card*) img->extra_bytes();
+ //imgtool::image &img(part->image());
+ //hp48_card* c = get_hp48_card(img);
hp48_partition* p = (hp48_partition*) part->extra_bytes();
*size = p->size - (find_end(p)+1)/2;
@@ -546,8 +551,8 @@ static imgtoolerr_t hp48_readfile(imgtool::partition *part,
const char *fork,
imgtool::stream &destf)
{
- //imgtool::image* img = &part->image();
- //hp48_card* c = (hp48_card*) img->extra_bytes();
+ //imgtool::image &img(part->image());
+ //hp48_card* c = get_hp48_card(img);
hp48_partition* p = (hp48_partition*) part->extra_bytes();
/* find entry */
@@ -589,8 +594,8 @@ static imgtoolerr_t hp48_readfile(imgtool::partition *part,
static imgtoolerr_t hp48_deletefile(imgtool::partition *part,
const char *filename)
{
- imgtool::image* img = &part->image();
- hp48_card* c = (hp48_card*) img->extra_bytes();
+ imgtool::image &img(part->image());
+ hp48_card* c = get_hp48_card(img);
hp48_partition* p = (hp48_partition*) part->extra_bytes();
/* find entry */
@@ -618,8 +623,8 @@ static imgtoolerr_t hp48_writefile(imgtool::partition *part,
imgtool::stream &sourcef,
util::option_resolution *opts)
{
- imgtool::image* img = &part->image();
- hp48_card* c = (hp48_card*) img->extra_bytes();
+ imgtool::image &img(part->image());
+ hp48_card* c = get_hp48_card(img);
hp48_partition* p = (hp48_partition*) part->extra_bytes();
/* check header */
diff --git a/src/tools/imgtool/modules/hp9845_tape.cpp b/src/tools/imgtool/modules/hp9845_tape.cpp
index 807c250ff13..43770b99606 100644
--- a/src/tools/imgtool/modules/hp9845_tape.cpp
+++ b/src/tools/imgtool/modules/hp9845_tape.cpp
@@ -1023,9 +1023,9 @@ bool tape_image_t::decode_dir(void)
return true;
}
-static tape_state_t& get_tape_state(imgtool::image *img)
+static tape_state_t& get_tape_state(imgtool::image &img)
{
- tape_state_t *ts = (tape_state_t*)img->extra_bytes();
+ tape_state_t *ts = (tape_state_t*)img.extra_bytes();
return *ts;
}
@@ -1042,7 +1042,7 @@ static tape_image_t& get_tape_image(tape_state_t& ts)
/********************************************************************************
* Imgtool functions
********************************************************************************/
-static imgtoolerr_t hp9845_tape_open(imgtool::image *image, imgtool::stream::ptr &&stream)
+static imgtoolerr_t hp9845_tape_open(imgtool::image &image, imgtool::stream::ptr &&stream)
{
tape_state_t& state = get_tape_state(image);
@@ -1058,7 +1058,7 @@ static imgtoolerr_t hp9845_tape_open(imgtool::image *image, imgtool::stream::ptr
return IMGTOOLERR_SUCCESS;
}
-static imgtoolerr_t hp9845_tape_create(imgtool::image *image, imgtool::stream::ptr &&stream, util::option_resolution *opts)
+static imgtoolerr_t hp9845_tape_create(imgtool::image &image, imgtool::stream::ptr &&stream, util::option_resolution *opts)
{
tape_state_t& state = get_tape_state(image);
@@ -1071,7 +1071,7 @@ static imgtoolerr_t hp9845_tape_create(imgtool::image *image, imgtool::stream::p
return IMGTOOLERR_SUCCESS;
}
-static void hp9845_tape_close(imgtool::image *image)
+static void hp9845_tape_close(imgtool::image &image)
{
tape_state_t& state = get_tape_state(image);
tape_image_t& tape_image = get_tape_image(state);
@@ -1097,7 +1097,7 @@ static imgtoolerr_t hp9845_tape_begin_enum (imgtool::directory *enumeration, con
static imgtoolerr_t hp9845_tape_next_enum (imgtool::directory *enumeration, imgtool_dirent *ent)
{
- tape_state_t& state = get_tape_state(&enumeration->image());
+ tape_state_t& state = get_tape_state(enumeration->image());
tape_image_t& tape_image = get_tape_image(state);
dir_state_t *ds = (dir_state_t*)enumeration->extra_bytes();
@@ -1122,7 +1122,7 @@ static imgtoolerr_t hp9845_tape_next_enum (imgtool::directory *enumeration, imgt
static imgtoolerr_t hp9845_tape_free_space(imgtool::partition *partition, UINT64 *size)
{
- tape_state_t& state = get_tape_state(&partition->image());
+ tape_state_t& state = get_tape_state(partition->image());
tape_image_t& tape_image = get_tape_image(state);
*size = tape_image.free_sectors() * SECTOR_LEN;
@@ -1132,7 +1132,7 @@ static imgtoolerr_t hp9845_tape_free_space(imgtool::partition *partition, UINT64
static imgtoolerr_t hp9845_tape_read_file(imgtool::partition *partition, const char *filename, const char *fork, imgtool::stream &destf)
{
- tape_state_t& state = get_tape_state(&partition->image());
+ tape_state_t& state = get_tape_state(partition->image());
tape_image_t& tape_image = get_tape_image(state);
unsigned idx;
@@ -1166,7 +1166,7 @@ static imgtoolerr_t hp9845_tape_read_file(imgtool::partition *partition, const c
static imgtoolerr_t hp9845_tape_write_file(imgtool::partition *partition, const char *filename, const char *fork, imgtool::stream &sourcef, util::option_resolution *opts)
{
- tape_state_t& state = get_tape_state(&partition->image());
+ tape_state_t& state = get_tape_state(partition->image());
tape_image_t& tape_image = get_tape_image(state);
unsigned idx;
@@ -1252,7 +1252,7 @@ static imgtoolerr_t hp9845_tape_write_file(imgtool::partition *partition, const
static imgtoolerr_t hp9845_tape_delete_file(imgtool::partition *partition, const char *filename)
{
- tape_state_t& state = get_tape_state(&partition->image());
+ tape_state_t& state = get_tape_state(partition->image());
tape_image_t& tape_image = get_tape_image(state);
unsigned idx;
diff --git a/src/tools/imgtool/modules/mac.cpp b/src/tools/imgtool/modules/mac.cpp
index 6310fe34f2f..f7443925937 100644
--- a/src/tools/imgtool/modules/mac.cpp
+++ b/src/tools/imgtool/modules/mac.cpp
@@ -625,15 +625,15 @@ static imgtoolerr_t mac_find_block(mac_l1_imgref *image, int block,
UINT32 *track, UINT32 *head, UINT32 *sector)
{
*track = 0;
- while(block >= (apple35_sectors_per_track(imgtool_floppy(image->image), *track) * image->heads))
+ while(block >= (apple35_sectors_per_track(imgtool_floppy(*image->image), *track) * image->heads))
{
- block -= (apple35_sectors_per_track(imgtool_floppy(image->image), (*track)++) * image->heads);
+ block -= (apple35_sectors_per_track(imgtool_floppy(*image->image), (*track)++) * image->heads);
if (*track >= 80)
return IMGTOOLERR_SEEKERROR;
}
- *head = block / apple35_sectors_per_track(imgtool_floppy(image->image), *track);
- *sector = block % apple35_sectors_per_track(imgtool_floppy(image->image), *track);
+ *head = block / apple35_sectors_per_track(imgtool_floppy(*image->image), *track);
+ *sector = block % apple35_sectors_per_track(imgtool_floppy(*image->image), *track);
return IMGTOOLERR_SUCCESS;
}
@@ -660,7 +660,7 @@ static imgtoolerr_t image_read_block(mac_l1_imgref *image, UINT32 block, void *d
if (err)
return err;
- ferr = floppy_read_sector(imgtool_floppy(image->image), head, track, sector, 0, dest, 512);
+ ferr = floppy_read_sector(imgtool_floppy(*image->image), head, track, sector, 0, dest, 512);
if (ferr)
return imgtool_floppy_error(ferr);
@@ -688,7 +688,7 @@ static imgtoolerr_t image_write_block(mac_l1_imgref *image, UINT32 block, const
if (err)
return err;
- ferr = floppy_write_sector(imgtool_floppy(image->image), head, track, sector, 0, src, 512, 0); /* TODO: pass ddam argument from imgtool */
+ ferr = floppy_write_sector(imgtool_floppy(*image->image), head, track, sector, 0, src, 512, 0); /* TODO: pass ddam argument from imgtool */
if (ferr)
return imgtool_floppy_error(ferr);
@@ -1069,7 +1069,7 @@ static imgtoolerr_t hfs_file_open(struct mac_l2_imgref *l2_img, UINT32 parID, co
static imgtoolerr_t mfs_file_setABeof(struct mac_fileref *fileref, UINT32 newABeof);
static imgtoolerr_t mfs_dir_update(struct mac_fileref *fileref);
-static struct mac_l2_imgref *get_imgref(imgtool::image *img)
+static struct mac_l2_imgref *get_imgref(imgtool::image &img)
{
return (struct mac_l2_imgref *) imgtool_floppy_extrabytes(img);
}
@@ -1542,7 +1542,7 @@ struct mfs_dirref
-static imgtoolerr_t mfs_image_create(imgtool::image *image, imgtool::stream::ptr &&dummy, util::option_resolution *opts)
+static imgtoolerr_t mfs_image_create(imgtool::image &image, imgtool::stream::ptr &&dummy, util::option_resolution *opts)
{
imgtoolerr_t err;
UINT8 buffer[512];
@@ -1554,7 +1554,7 @@ static imgtoolerr_t mfs_image_create(imgtool::image *image, imgtool::stream::ptr
tracks = opts->lookup_int('T');
sector_bytes = opts->lookup_int('L');
- get_imgref(image)->l1_img.image = image;
+ get_imgref(image)->l1_img.image = &image;
get_imgref(image)->l1_img.heads = heads;
if (sector_bytes != 512)
@@ -1606,7 +1606,7 @@ static imgtoolerr_t mfs_image_create(imgtool::image *image, imgtool::stream::ptr
Return imgtool error code
*/
-static imgtoolerr_t mfs_image_open(imgtool::image *image, imgtool::stream::ptr &&dummy)
+static imgtoolerr_t mfs_image_open(imgtool::image &image, imgtool::stream::ptr &&dummy)
{
imgtoolerr_t err;
struct mac_l2_imgref *l2_img;
@@ -1614,7 +1614,7 @@ static imgtoolerr_t mfs_image_open(imgtool::image *image, imgtool::stream::ptr &
img_open_buf *buf;
l2_img = get_imgref(image);
- l2_img->l1_img.image = image;
+ l2_img->l1_img.image = &image;
l2_img->l1_img.heads = 1;
l2_img->format = L2I_MFS;
@@ -3033,7 +3033,7 @@ static int hfs_catKey_compare(const void *p1, const void *p2)
Return imgtool error code
*/
-static imgtoolerr_t hfs_image_open(imgtool::image *image, imgtool::stream::ptr &&stream)
+static imgtoolerr_t hfs_image_open(imgtool::image &image, imgtool::stream::ptr &&stream)
{
imgtoolerr_t err;
struct mac_l2_imgref *l2_img;
@@ -3041,7 +3041,7 @@ static imgtoolerr_t hfs_image_open(imgtool::image *image, imgtool::stream::ptr &
img_open_buf *buf;
l2_img = get_imgref(image);
- l2_img->l1_img.image = image;
+ l2_img->l1_img.image = &image;
l2_img->l1_img.heads = 2;
l2_img->format = L2I_HFS;
@@ -5273,7 +5273,7 @@ static imgtoolerr_t get_comment(struct mac_l2_imgref *l2_img, UINT16 id, mac_str
#ifdef UNUSED_FUNCTION
static void mac_image_exit(imgtool::image *img);
#endif
-static void mac_image_info(imgtool::image *img, char *string, size_t len);
+static void mac_image_info(imgtool::image &img, char *string, size_t len);
static imgtoolerr_t mac_image_beginenum(imgtool::directory *enumeration, const char *path);
static imgtoolerr_t mac_image_nextenum(imgtool::directory *enumeration, imgtool_dirent *ent);
static imgtoolerr_t mac_image_freespace(imgtool::partition *partition, UINT64 *size);
@@ -5297,7 +5297,7 @@ static void mac_image_exit(imgtool::image *img)
Currently returns the volume name
*/
-static void mac_image_info(imgtool::image *img, char *string, size_t len)
+static void mac_image_info(imgtool::image &img, char *string, size_t len)
{
struct mac_l2_imgref *image = get_imgref(img);
@@ -5338,7 +5338,7 @@ struct mac_iterator
*/
static imgtoolerr_t mac_image_beginenum(imgtool::directory *enumeration, const char *path)
{
- struct mac_l2_imgref *image = get_imgref(&enumeration->image());
+ struct mac_l2_imgref *image = get_imgref(enumeration->image());
mac_iterator *iter = (mac_iterator *) enumeration->extra_bytes();
imgtoolerr_t err = IMGTOOLERR_UNEXPECTED;
@@ -5573,7 +5573,7 @@ static imgtoolerr_t mac_image_nextenum(imgtool::directory *enumeration, imgtool_
*/
static imgtoolerr_t mac_image_freespace(imgtool::partition *partition, UINT64 *size)
{
- imgtool::image *image = &partition->image();
+ imgtool::image &image(partition->image());
*size = ((UINT64) get_imgref(image)->freeABs) * 512;
return IMGTOOLERR_SUCCESS;
}
@@ -5613,7 +5613,7 @@ static imgtoolerr_t mac_get_comment(struct mac_l2_imgref *image, mac_str255 file
static imgtoolerr_t mac_image_readfile(imgtool::partition *partition, const char *fpath, const char *fork, imgtool::stream &destf)
{
imgtoolerr_t err;
- imgtool::image *img = &partition->image();
+ imgtool::image &img(partition->image());
struct mac_l2_imgref *image = get_imgref(img);
UINT32 parID;
mac_str255 filename;
@@ -5663,7 +5663,7 @@ static imgtoolerr_t mac_image_readfile(imgtool::partition *partition, const char
*/
static imgtoolerr_t mac_image_writefile(imgtool::partition *partition, const char *fpath, const char *fork, imgtool::stream &sourcef, util::option_resolution *writeoptions)
{
- imgtool::image *img = &partition->image();
+ imgtool::image &img(partition->image());
struct mac_l2_imgref *image = get_imgref(img);
UINT32 parID;
mac_str255 filename;
@@ -5745,7 +5745,7 @@ static imgtoolerr_t mac_image_listforks(imgtool::partition *partition, const cha
mac_str255 filename;
mac_dirent cat_info;
int fork_num = 0;
- imgtool::image *img = &partition->image();
+ imgtool::image &img(partition->image());
struct mac_l2_imgref *image = get_imgref(img);
/* resolve path and fetch file info from directory/catalog */
@@ -5779,7 +5779,7 @@ static imgtoolerr_t mac_image_listforks(imgtool::partition *partition, const cha
static imgtoolerr_t mac_image_getattrs(imgtool::partition *partition, const char *path, const UINT32 *attrs, imgtool_attribute *values)
{
imgtoolerr_t err;
- imgtool::image *img = &partition->image();
+ imgtool::image &img(partition->image());
UINT32 parID;
mac_str255 filename;
mac_dirent cat_info;
@@ -5850,7 +5850,7 @@ static imgtoolerr_t mac_image_setattrs(imgtool::partition *partition, const char
UINT32 parID;
mac_str255 filename;
mac_dirent cat_info;
- imgtool::image *img = &partition->image();
+ imgtool::image &img(partition->image());
struct mac_l2_imgref *image = get_imgref(img);
int i;
@@ -6323,7 +6323,7 @@ static imgtoolerr_t mac_image_suggesttransfer(imgtool::partition *partition, con
UINT32 parID;
mac_str255 filename;
mac_dirent cat_info;
- imgtool::image *img = &partition->image();
+ imgtool::image &img(partition->image());
struct mac_l2_imgref *image = get_imgref(img);
mac_filecategory_t file_category = MAC_FILECATEGORY_DATA;
diff --git a/src/tools/imgtool/modules/os9.cpp b/src/tools/imgtool/modules/os9.cpp
index aa3f994b6cd..5aa79c824ca 100644
--- a/src/tools/imgtool/modules/os9.cpp
+++ b/src/tools/imgtool/modules/os9.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Nathan Woods
/****************************************************************************
- os9.c
+ os9.cpp
CoCo OS-9 disk images
@@ -118,7 +118,7 @@ static void place_string(void *ptr, size_t offset, size_t length, const char *s)
-static os9_diskinfo *os9_get_diskinfo(imgtool::image *image)
+static os9_diskinfo *os9_get_diskinfo(imgtool::image &image)
{
return (os9_diskinfo *) imgtool_floppy_extrabytes(image);
}
@@ -132,7 +132,7 @@ static struct os9_direnum *os9_get_dirinfo(imgtool::directory *directory)
-static imgtoolerr_t os9_locate_lsn(imgtool::image *image, UINT32 lsn, UINT32 *head, UINT32 *track, UINT32 *sector)
+static imgtoolerr_t os9_locate_lsn(imgtool::image &image, UINT32 lsn, UINT32 *head, UINT32 *track, UINT32 *sector)
{
const os9_diskinfo *disk_info;
@@ -148,7 +148,7 @@ static imgtoolerr_t os9_locate_lsn(imgtool::image *image, UINT32 lsn, UINT32 *he
-static imgtoolerr_t os9_read_lsn(imgtool::image *img, UINT32 lsn, int offset, void *buffer, size_t buffer_len)
+static imgtoolerr_t os9_read_lsn(imgtool::image &img, UINT32 lsn, int offset, void *buffer, size_t buffer_len)
{
imgtoolerr_t err;
floperr_t ferr;
@@ -167,7 +167,7 @@ static imgtoolerr_t os9_read_lsn(imgtool::image *img, UINT32 lsn, int offset, vo
-static imgtoolerr_t os9_write_lsn(imgtool::image *img, UINT32 lsn, int offset, const void *buffer, size_t buffer_len)
+static imgtoolerr_t os9_write_lsn(imgtool::image &img, UINT32 lsn, int offset, const void *buffer, size_t buffer_len)
{
imgtoolerr_t err;
floperr_t ferr;
@@ -186,7 +186,7 @@ static imgtoolerr_t os9_write_lsn(imgtool::image *img, UINT32 lsn, int offset, c
-static UINT32 os9_lookup_lsn(imgtool::image *img,
+static UINT32 os9_lookup_lsn(imgtool::image &img,
const struct os9_fileinfo *file_info, UINT32 *index)
{
int i;
@@ -241,7 +241,7 @@ static int os9_interpret_dirent(void *entry, char **filename, UINT32 *lsn, int *
entry from an LSN, and decodes it
-------------------------------------------------*/
-static imgtoolerr_t os9_decode_file_header(imgtool::image *image,
+static imgtoolerr_t os9_decode_file_header(imgtool::image &image,
int lsn, struct os9_fileinfo *info)
{
imgtoolerr_t err;
@@ -293,7 +293,7 @@ static imgtoolerr_t os9_decode_file_header(imgtool::image *image,
-static imgtoolerr_t os9_allocate_lsn(imgtool::image *image, UINT32 *lsn)
+static imgtoolerr_t os9_allocate_lsn(imgtool::image &image, UINT32 *lsn)
{
UINT32 i;
os9_diskinfo *disk_info;
@@ -318,7 +318,7 @@ static imgtoolerr_t os9_allocate_lsn(imgtool::image *image, UINT32 *lsn)
-static imgtoolerr_t os9_deallocate_lsn(imgtool::image *image, UINT32 lsn)
+static imgtoolerr_t os9_deallocate_lsn(imgtool::image &image, UINT32 lsn)
{
UINT8 mask;
os9_diskinfo *disk_info;
@@ -331,7 +331,7 @@ static imgtoolerr_t os9_deallocate_lsn(imgtool::image *image, UINT32 lsn)
-static UINT32 os9_get_free_lsns(imgtool::image *image)
+static UINT32 os9_get_free_lsns(imgtool::image &image)
{
const os9_diskinfo *disk_info;
UINT32 i, free_lsns;
@@ -364,7 +364,7 @@ static imgtoolerr_t os9_corrupt_file_error(const struct os9_fileinfo *file_info)
-static imgtoolerr_t os9_set_file_size(imgtool::image *image,
+static imgtoolerr_t os9_set_file_size(imgtool::image &image,
struct os9_fileinfo *file_info, UINT32 new_size)
{
imgtoolerr_t err;
@@ -483,7 +483,7 @@ static imgtoolerr_t os9_set_file_size(imgtool::image *image,
a file
-------------------------------------------------*/
-static imgtoolerr_t os9_lookup_path(imgtool::image *img, const char *path,
+static imgtoolerr_t os9_lookup_path(imgtool::image &img, const char *path,
creation_policy_t create, struct os9_fileinfo *file_info,
UINT32 *parent_lsn, UINT32 *dirent_lsn, UINT32 *dirent_index)
{
@@ -622,7 +622,7 @@ done:
-static imgtoolerr_t os9_diskimage_open(imgtool::image *image, imgtool::stream::ptr &&dummy)
+static imgtoolerr_t os9_diskimage_open(imgtool::image &image, imgtool::stream::ptr &&dummy)
{
imgtoolerr_t err;
floperr_t ferr;
@@ -670,7 +670,7 @@ static imgtoolerr_t os9_diskimage_open(imgtool::image *image, imgtool::stream::p
return IMGTOOLERR_CORRUPTIMAGE;
/* is the allocation bitmap too big? */
- info->allocation_bitmap = (UINT8*)image->malloc(info->allocation_bitmap_bytes);
+ info->allocation_bitmap = (UINT8*)image.malloc(info->allocation_bitmap_bytes);
if (!info->allocation_bitmap)
return IMGTOOLERR_OUTOFMEMORY;
memset(info->allocation_bitmap, 0, info->allocation_bitmap_bytes);
@@ -710,7 +710,7 @@ static imgtoolerr_t os9_diskimage_open(imgtool::image *image, imgtool::stream::p
-static imgtoolerr_t os9_diskimage_create(imgtool::image *img, imgtool::stream::ptr &&stream, util::option_resolution *opts)
+static imgtoolerr_t os9_diskimage_create(imgtool::image &img, imgtool::stream::ptr &&stream, util::option_resolution *opts)
{
imgtoolerr_t err;
dynamic_buffer header;
@@ -851,9 +851,8 @@ static imgtoolerr_t os9_diskimage_beginenum(imgtool::directory *enumeration, con
{
imgtoolerr_t err = IMGTOOLERR_SUCCESS;
struct os9_direnum *os9enum;
- imgtool::image *image;
+ imgtool::image &image(enumeration->image());
- image = &enumeration->image();
os9enum = os9_get_dirinfo(enumeration);
err = os9_lookup_path(image, path, CREATE_NONE, &os9enum->dir_info, NULL, NULL, NULL);
@@ -881,9 +880,8 @@ static imgtoolerr_t os9_diskimage_nextenum(imgtool::directory *enumeration, imgt
UINT8 dir_entry[32];
char filename[29];
struct os9_fileinfo file_info;
- imgtool::image *image;
+ imgtool::image &image(enumeration->image());
- image = &enumeration->image();
os9enum = os9_get_dirinfo(enumeration);
do
@@ -949,7 +947,7 @@ static imgtoolerr_t os9_diskimage_nextenum(imgtool::directory *enumeration, imgt
/* read file attributes */
lsn = pick_integer_be(dir_entry, 29, 3);
- err = os9_decode_file_header(&enumeration->image(), lsn, &file_info);
+ err = os9_decode_file_header(enumeration->image(), lsn, &file_info);
if (err)
return err;
@@ -975,7 +973,7 @@ static imgtoolerr_t os9_diskimage_nextenum(imgtool::directory *enumeration, imgt
static imgtoolerr_t os9_diskimage_freespace(imgtool::partition *partition, UINT64 *size)
{
- imgtool::image *image = &partition->image();
+ imgtool::image &image(partition->image());
const os9_diskinfo *disk_info;
UINT32 free_lsns;
@@ -991,7 +989,7 @@ static imgtoolerr_t os9_diskimage_freespace(imgtool::partition *partition, UINT6
static imgtoolerr_t os9_diskimage_readfile(imgtool::partition *partition, const char *filename, const char *fork, imgtool::stream &destf)
{
imgtoolerr_t err;
- imgtool::image *img = &partition->image();
+ imgtool::image &img(partition->image());
const os9_diskinfo *disk_info;
struct os9_fileinfo file_info;
UINT8 buffer[256];
@@ -1029,7 +1027,7 @@ static imgtoolerr_t os9_diskimage_readfile(imgtool::partition *partition, const
static imgtoolerr_t os9_diskimage_writefile(imgtool::partition *partition, const char *path, const char *fork, imgtool::stream &sourcef, util::option_resolution *opts)
{
imgtoolerr_t err;
- imgtool::image *image = &partition->image();
+ imgtool::image &image(partition->image());
struct os9_fileinfo file_info;
size_t write_size;
dynamic_buffer buf;
@@ -1085,8 +1083,7 @@ static imgtoolerr_t os9_diskimage_delete(imgtool::partition *partition, const ch
unsigned int delete_directory)
{
imgtoolerr_t err;
- imgtool::image *image = &partition->image();
- //const os9_diskinfo *disk_info;
+ imgtool::image &image(partition->image());
struct os9_fileinfo file_info;
UINT32 dirent_lsn, dirent_index;
UINT32 entry_lsn, entry_index;
@@ -1173,7 +1170,7 @@ static imgtoolerr_t os9_diskimage_deletefile(imgtool::partition *partition, cons
static imgtoolerr_t os9_diskimage_createdir(imgtool::partition *partition, const char *path)
{
imgtoolerr_t err;
- imgtool::image *image = &partition->image();
+ imgtool::image &image(partition->image());
struct os9_fileinfo file_info;
UINT8 dir_data[64];
UINT32 parent_lsn;
diff --git a/src/tools/imgtool/modules/pc_flop.cpp b/src/tools/imgtool/modules/pc_flop.cpp
index e44347465a4..3e08760cf7c 100644
--- a/src/tools/imgtool/modules/pc_flop.cpp
+++ b/src/tools/imgtool/modules/pc_flop.cpp
@@ -17,13 +17,13 @@
#define FAT_SECLEN 512
-static imgtoolerr_t fat_image_create(imgtool::image *image, imgtool::stream::ptr &&stream, util::option_resolution *opts)
+static imgtoolerr_t fat_image_create(imgtool::image &image, imgtool::stream::ptr &&stream, util::option_resolution *opts)
{
imgtoolerr_t err;
UINT32 tracks, heads, sectors;
UINT8 buffer[FAT_SECLEN];
imgtool_class imgclass = { fat_get_info };
- imgtoolerr_t (*fat_partition_create)(imgtool::image *image, UINT64 first_block, UINT64 block_count);
+ imgtoolerr_t (*fat_partition_create)(imgtool::image &image, UINT64 first_block, UINT64 block_count);
tracks = opts->lookup_int('T');
heads = opts->lookup_int('H');
@@ -35,12 +35,12 @@ static imgtoolerr_t fat_image_create(imgtool::image *image, imgtool::stream::ptr
place_integer_le(buffer, 26, 2, heads);
place_integer_le(buffer, 19, 2, (UINT16) (((UINT64) tracks * heads * sectors) >> 0));
place_integer_le(buffer, 32, 4, (UINT16) (((UINT64) tracks * heads * sectors) >> 16));
- err = image->write_block(0, buffer);
+ err = image.write_block(0, buffer);
if (err)
goto done;
/* load fat_partition_create */
- fat_partition_create = (imgtoolerr_t (*)(imgtool::image *, UINT64, UINT64))
+ fat_partition_create = (imgtoolerr_t (*)(imgtool::image &, UINT64, UINT64))
imgtool_get_info_fct(&imgclass, IMGTOOLINFO_PTR_CREATE_PARTITION);
/* actually create the partition */
@@ -54,13 +54,13 @@ done:
-static imgtoolerr_t fat_image_get_geometry(imgtool::image *image, UINT32 *tracks, UINT32 *heads, UINT32 *sectors)
+static imgtoolerr_t fat_image_get_geometry(imgtool::image &image, UINT32 *tracks, UINT32 *heads, UINT32 *sectors)
{
imgtoolerr_t err;
UINT64 total_sectors;
UINT8 buffer[FAT_SECLEN];
- err = image->read_block(0, buffer);
+ err = image.read_block(0, buffer);
if (err)
return err;
@@ -75,7 +75,7 @@ static imgtoolerr_t fat_image_get_geometry(imgtool::image *image, UINT32 *tracks
-static imgtoolerr_t fat_get_sector_position(imgtool::image *image, UINT32 sector_index,
+static imgtoolerr_t fat_get_sector_position(imgtool::image &image, UINT32 sector_index,
UINT32 *track, UINT32 *head, UINT32 *sector)
{
imgtoolerr_t err;
@@ -90,7 +90,7 @@ static imgtoolerr_t fat_get_sector_position(imgtool::image *image, UINT32 sector
}
else
{
- err = image->get_geometry(&tracks, &heads, &sectors);
+ err = image.get_geometry(&tracks, &heads, &sectors);
if (err)
return err;
@@ -103,14 +103,14 @@ static imgtoolerr_t fat_get_sector_position(imgtool::image *image, UINT32 sector
-static imgtoolerr_t fat_image_readblock(imgtool::image *image, void *buffer, UINT64 block)
+static imgtoolerr_t fat_image_readblock(imgtool::image &image, void *buffer, UINT64 block)
{
imgtoolerr_t err;
floperr_t ferr;
UINT32 track, head, sector;
UINT32 block_size;
- err = image->get_block_size(block_size);
+ err = image.get_block_size(block_size);
if (err)
return err;
@@ -126,14 +126,14 @@ static imgtoolerr_t fat_image_readblock(imgtool::image *image, void *buffer, UIN
-static imgtoolerr_t fat_image_writeblock(imgtool::image *image, const void *buffer, UINT64 block)
+static imgtoolerr_t fat_image_writeblock(imgtool::image &image, const void *buffer, UINT64 block)
{
imgtoolerr_t err;
floperr_t ferr;
UINT32 track, head, sector;
UINT32 block_size;
- err = image->get_block_size(block_size);
+ err = image.get_block_size(block_size);
if (err)
return err;
diff --git a/src/tools/imgtool/modules/pc_hard.cpp b/src/tools/imgtool/modules/pc_hard.cpp
index 13287b204e2..f989680bea0 100644
--- a/src/tools/imgtool/modules/pc_hard.cpp
+++ b/src/tools/imgtool/modules/pc_hard.cpp
@@ -127,7 +127,7 @@ static imgtoolerr_t pc_chd_partition_create(imgtool::image &image, int partition
UINT32 first_cylinder, first_head, first_sector;
UINT32 last_cylinder, last_head, last_sector;
imgtool_class imgclass = { fat_get_info };
- imgtoolerr_t (*fat_partition_create)(imgtool::image *image, UINT64 first_block, UINT64 block_count);
+ imgtoolerr_t (*fat_partition_create)(imgtool::image &image, UINT64 first_block, UINT64 block_count);
/* sanity checks */
assert((partition_index >= 0) && (partition_index <= 3));
@@ -137,11 +137,11 @@ static imgtoolerr_t pc_chd_partition_create(imgtool::image &image, int partition
pc_chd_locate_block(image, first_block + block_count - 1, &last_cylinder, &last_head, &last_sector);
/* load fat_partition_create */
- fat_partition_create = (imgtoolerr_t (*)(imgtool::image *, UINT64, UINT64))
+ fat_partition_create = (imgtoolerr_t (*)(imgtool::image &, UINT64, UINT64))
imgtool_get_info_fct(&imgclass, IMGTOOLINFO_PTR_CREATE_PARTITION);
/* first create the actual partition */
- err = fat_partition_create(&image, first_block, block_count);
+ err = fat_partition_create(image, first_block, block_count);
if (err)
goto done;
@@ -232,7 +232,7 @@ static imgtoolerr_t pc_chd_read_partition_header(imgtool::image &image)
-static imgtoolerr_t pc_chd_image_create(imgtool::image *image, imgtool::stream::ptr &&stream, util::option_resolution *opts)
+static imgtoolerr_t pc_chd_image_create(imgtool::image &image, imgtool::stream::ptr &&stream, util::option_resolution *opts)
{
imgtoolerr_t err;
UINT32 cylinders, heads, sectors;
@@ -243,7 +243,7 @@ static imgtoolerr_t pc_chd_image_create(imgtool::image *image, imgtool::stream::
heads = opts->lookup_int('H');
sectors = opts->lookup_int('S');
- info = pc_chd_get_image_info(*image);
+ info = pc_chd_get_image_info(image);
/* create the hard disk image */
err = imghd_create(*stream, 0, cylinders, heads, sectors, FAT_SECLEN);
@@ -258,15 +258,15 @@ static imgtoolerr_t pc_chd_image_create(imgtool::image *image, imgtool::stream::
memset(header_block, 0, sizeof(header_block));
header_block[510] = 0x55;
header_block[511] = 0xAA;
- err = image->write_block(0, header_block);
+ err = image.write_block(0, header_block);
if (err)
goto done;
- err = pc_chd_partition_create(*image, 0, 1, cylinders * heads * sectors - 1);
+ err = pc_chd_partition_create(image, 0, 1, cylinders * heads * sectors - 1);
if (err)
goto done;
- err = pc_chd_read_partition_header(*image);
+ err = pc_chd_read_partition_header(image);
if (err)
goto done;
@@ -278,19 +278,19 @@ done:
-static imgtoolerr_t pc_chd_image_open(imgtool::image *image, imgtool::stream::ptr &&stream)
+static imgtoolerr_t pc_chd_image_open(imgtool::image &image, imgtool::stream::ptr &&stream)
{
imgtoolerr_t err;
pc_chd_image_info *info;
- info = pc_chd_get_image_info(*image);
+ info = pc_chd_get_image_info(image);
/* open the hard drive */
err = imghd_open(*stream, &info->hard_disk);
if (err)
return err;
- err = pc_chd_read_partition_header(*image);
+ err = pc_chd_read_partition_header(image);
if (err)
return err;
@@ -299,21 +299,21 @@ static imgtoolerr_t pc_chd_image_open(imgtool::image *image, imgtool::stream::pt
-static void pc_chd_image_close(imgtool::image *image)
+static void pc_chd_image_close(imgtool::image &image)
{
pc_chd_image_info *info;
- info = pc_chd_get_image_info(*image);
+ info = pc_chd_get_image_info(image);
imghd_close(&info->hard_disk);
}
-static imgtoolerr_t pc_chd_image_get_geometry(imgtool::image *image, UINT32 *tracks, UINT32 *heads, UINT32 *sectors)
+static imgtoolerr_t pc_chd_image_get_geometry(imgtool::image &image, UINT32 *tracks, UINT32 *heads, UINT32 *sectors)
{
pc_chd_image_info *info;
const hard_disk_info *hd_info;
- info = pc_chd_get_image_info(*image);
+ info = pc_chd_get_image_info(image);
hd_info = imghd_get_header(&info->hard_disk);
*tracks = hd_info->cylinders;
@@ -340,9 +340,9 @@ static UINT32 pc_chd_calc_lbasector(pc_chd_image_info &info, UINT32 track, UINT3
-static imgtoolerr_t pc_chd_image_readsector(imgtool::image *image, UINT32 track, UINT32 head, UINT32 sector, std::vector<UINT8> &buffer)
+static imgtoolerr_t pc_chd_image_readsector(imgtool::image &image, UINT32 track, UINT32 head, UINT32 sector, std::vector<UINT8> &buffer)
{
- pc_chd_image_info *info = pc_chd_get_image_info(*image);
+ pc_chd_image_info *info = pc_chd_get_image_info(image);
// get the sector size and resize the buffer
UINT32 sector_size = imghd_get_header(&info->hard_disk)->sectorbytes;
@@ -357,10 +357,10 @@ static imgtoolerr_t pc_chd_image_readsector(imgtool::image *image, UINT32 track,
-static imgtoolerr_t pc_chd_image_writesector(imgtool::image *image, UINT32 track, UINT32 head, UINT32 sector, const void *buffer, size_t len, int ddam)
+static imgtoolerr_t pc_chd_image_writesector(imgtool::image &image, UINT32 track, UINT32 head, UINT32 sector, const void *buffer, size_t len, int ddam)
{
pc_chd_image_info *info;
- info = pc_chd_get_image_info(*image);
+ info = pc_chd_get_image_info(image);
return imghd_write(&info->hard_disk,
pc_chd_calc_lbasector(*info, track, head, sector),
buffer);
@@ -368,30 +368,30 @@ static imgtoolerr_t pc_chd_image_writesector(imgtool::image *image, UINT32 track
-static imgtoolerr_t pc_chd_image_readblock(imgtool::image *image, void *buffer, UINT64 block)
+static imgtoolerr_t pc_chd_image_readblock(imgtool::image &image, void *buffer, UINT64 block)
{
pc_chd_image_info *info;
- info = pc_chd_get_image_info(*image);
+ info = pc_chd_get_image_info(image);
return imghd_read(&info->hard_disk, block, buffer);
}
-static imgtoolerr_t pc_chd_image_writeblock(imgtool::image *image, const void *buffer, UINT64 block)
+static imgtoolerr_t pc_chd_image_writeblock(imgtool::image &image, const void *buffer, UINT64 block)
{
pc_chd_image_info *info;
- info = pc_chd_get_image_info(*image);
+ info = pc_chd_get_image_info(image);
return imghd_write(&info->hard_disk, block, buffer);
}
-static imgtoolerr_t pc_chd_list_partitions(imgtool::image *image, imgtool_partition_info *partitions, size_t len)
+static imgtoolerr_t pc_chd_list_partitions(imgtool::image &image, imgtool_partition_info *partitions, size_t len)
{
pc_chd_image_info *info;
size_t i;
- info = pc_chd_get_image_info(*image);
+ info = pc_chd_get_image_info(image);
for (i = 0; i < std::min(size_t(4), len); i++)
{
diff --git a/src/tools/imgtool/modules/prodos.cpp b/src/tools/imgtool/modules/prodos.cpp
index 584c5623d2f..50ee0ecbb68 100644
--- a/src/tools/imgtool/modules/prodos.cpp
+++ b/src/tools/imgtool/modules/prodos.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Raphael Nabet
/****************************************************************************
- prodos.c
+ prodos.cpp
Apple II ProDOS disk images
@@ -135,8 +135,8 @@
struct prodos_diskinfo
{
- imgtoolerr_t (*load_block)(imgtool::image *image, int block, void *buffer);
- imgtoolerr_t (*save_block)(imgtool::image *image, int block, const void *buffer);
+ imgtoolerr_t (*load_block)(imgtool::image &image, int block, void *buffer);
+ imgtoolerr_t (*save_block)(imgtool::image &image, int block, const void *buffer);
UINT8 dirent_size;
UINT8 dirents_per_block;
UINT16 volume_bitmap_block;
@@ -265,7 +265,7 @@ static int is_dir_storagetype(UINT8 storage_type)
-static prodos_diskinfo *get_prodos_info(imgtool::image *image)
+static prodos_diskinfo *get_prodos_info(imgtool::image &image)
{
prodos_diskinfo *info;
info = (prodos_diskinfo *) imgtool_floppy_extrabytes(image);
@@ -276,7 +276,7 @@ static prodos_diskinfo *get_prodos_info(imgtool::image *image)
/* ----------------------------------------------------------------------- */
-static void prodos_find_block_525(imgtool::image *image, int block,
+static void prodos_find_block_525(imgtool::image &image, int block,
UINT32 *track, UINT32 *head, UINT32 *sector1, UINT32 *sector2)
{
static const UINT8 skewing[] =
@@ -295,7 +295,7 @@ static void prodos_find_block_525(imgtool::image *image, int block,
-static imgtoolerr_t prodos_load_block_525(imgtool::image *image,
+static imgtoolerr_t prodos_load_block_525(imgtool::image &image,
int block, void *buffer)
{
floperr_t ferr;
@@ -320,7 +320,7 @@ static imgtoolerr_t prodos_load_block_525(imgtool::image *image,
-static imgtoolerr_t prodos_save_block_525(imgtool::image *image,
+static imgtoolerr_t prodos_save_block_525(imgtool::image &image,
int block, const void *buffer)
{
floperr_t ferr;
@@ -345,7 +345,7 @@ static imgtoolerr_t prodos_save_block_525(imgtool::image *image,
-static void prodos_setprocs_525(imgtool::image *image)
+static void prodos_setprocs_525(imgtool::image &image)
{
prodos_diskinfo *info;
info = get_prodos_info(image);
@@ -357,7 +357,7 @@ static void prodos_setprocs_525(imgtool::image *image)
/* ----------------------------------------------------------------------- */
-static imgtoolerr_t prodos_find_block_35(imgtool::image *image, int block,
+static imgtoolerr_t prodos_find_block_35(imgtool::image &image, int block,
UINT32 *track, UINT32 *head, UINT32 *sector)
{
int sides = 2;
@@ -377,7 +377,7 @@ static imgtoolerr_t prodos_find_block_35(imgtool::image *image, int block,
-static imgtoolerr_t prodos_load_block_35(imgtool::image *image,
+static imgtoolerr_t prodos_load_block_35(imgtool::image &image,
int block, void *buffer)
{
imgtoolerr_t err;
@@ -397,7 +397,7 @@ static imgtoolerr_t prodos_load_block_35(imgtool::image *image,
-static imgtoolerr_t prodos_save_block_35(imgtool::image *image,
+static imgtoolerr_t prodos_save_block_35(imgtool::image &image,
int block, const void *buffer)
{
imgtoolerr_t err;
@@ -417,7 +417,7 @@ static imgtoolerr_t prodos_save_block_35(imgtool::image *image,
-static void prodos_setprocs_35(imgtool::image *image)
+static void prodos_setprocs_35(imgtool::image &image)
{
prodos_diskinfo *info;
info = get_prodos_info(image);
@@ -429,7 +429,7 @@ static void prodos_setprocs_35(imgtool::image *image)
/* ----------------------------------------------------------------------- */
-static imgtoolerr_t prodos_load_block(imgtool::image *image,
+static imgtoolerr_t prodos_load_block(imgtool::image &image,
int block, void *buffer)
{
prodos_diskinfo *diskinfo;
@@ -439,7 +439,7 @@ static imgtoolerr_t prodos_load_block(imgtool::image *image,
-static imgtoolerr_t prodos_save_block(imgtool::image *image,
+static imgtoolerr_t prodos_save_block(imgtool::image &image,
int block, const void *buffer)
{
prodos_diskinfo *diskinfo;
@@ -449,7 +449,7 @@ static imgtoolerr_t prodos_save_block(imgtool::image *image,
-static imgtoolerr_t prodos_clear_block(imgtool::image *image, int block)
+static imgtoolerr_t prodos_clear_block(imgtool::image &image, int block)
{
UINT8 buffer[BLOCK_SIZE];
memset(buffer, 0, sizeof(buffer));
@@ -460,7 +460,7 @@ static imgtoolerr_t prodos_clear_block(imgtool::image *image, int block)
/* ----------------------------------------------------------------------- */
-static imgtoolerr_t prodos_diskimage_open(imgtool::image *image)
+static imgtoolerr_t prodos_diskimage_open(imgtool::image &image)
{
imgtoolerr_t err;
UINT8 buffer[BLOCK_SIZE];
@@ -502,7 +502,7 @@ static imgtoolerr_t prodos_diskimage_open(imgtool::image *image)
-static imgtoolerr_t prodos_diskimage_open_525(imgtool::image *image, imgtool::stream::ptr &&dummy)
+static imgtoolerr_t prodos_diskimage_open_525(imgtool::image &image, imgtool::stream::ptr &&dummy)
{
prodos_setprocs_525(image);
return prodos_diskimage_open(image);
@@ -510,7 +510,7 @@ static imgtoolerr_t prodos_diskimage_open_525(imgtool::image *image, imgtool::st
-static imgtoolerr_t prodos_diskimage_open_35(imgtool::image *image, imgtool::stream::ptr &&dummy)
+static imgtoolerr_t prodos_diskimage_open_35(imgtool::image &image, imgtool::stream::ptr &&dummy)
{
prodos_setprocs_35(image);
return prodos_diskimage_open(image);
@@ -520,7 +520,7 @@ static imgtoolerr_t prodos_diskimage_open_35(imgtool::image *image, imgtool::str
/* ----------------------------------------------------------------------- */
-static imgtoolerr_t prodos_load_volume_bitmap(imgtool::image *image, UINT8 **bitmap)
+static imgtoolerr_t prodos_load_volume_bitmap(imgtool::image &image, UINT8 **bitmap)
{
imgtoolerr_t err;
prodos_diskinfo *di;
@@ -559,7 +559,7 @@ done:
-static imgtoolerr_t prodos_save_volume_bitmap(imgtool::image *image, const UINT8 *bitmap)
+static imgtoolerr_t prodos_save_volume_bitmap(imgtool::image &image, const UINT8 *bitmap)
{
imgtoolerr_t err;
prodos_diskinfo *di;
@@ -604,7 +604,7 @@ static int prodos_get_volume_bitmap_bit(const UINT8 *buffer, UINT16 block)
-static imgtoolerr_t prodos_alloc_block(imgtool::image *image, UINT8 *bitmap,
+static imgtoolerr_t prodos_alloc_block(imgtool::image &image, UINT8 *bitmap,
UINT16 *block)
{
imgtoolerr_t err = IMGTOOLERR_SUCCESS;
@@ -660,7 +660,7 @@ done:
/* ----------------------------------------------------------------------- */
-static imgtoolerr_t prodos_diskimage_create(imgtool::image *image, util::option_resolution *opts)
+static imgtoolerr_t prodos_diskimage_create(imgtool::image &image, util::option_resolution *opts)
{
imgtoolerr_t err;
UINT32 heads, tracks, sectors, sector_bytes;
@@ -702,7 +702,7 @@ static imgtoolerr_t prodos_diskimage_create(imgtool::image *image, util::option_
-static imgtoolerr_t prodos_diskimage_create_525(imgtool::image *image, imgtool::stream::ptr &&dummy, util::option_resolution *opts)
+static imgtoolerr_t prodos_diskimage_create_525(imgtool::image &image, imgtool::stream::ptr &&dummy, util::option_resolution *opts)
{
prodos_setprocs_525(image);
return prodos_diskimage_create(image, opts);
@@ -710,7 +710,7 @@ static imgtoolerr_t prodos_diskimage_create_525(imgtool::image *image, imgtool::
-static imgtoolerr_t prodos_diskimage_create_35(imgtool::image *image, imgtool::stream::ptr &&dummy, util::option_resolution *opts)
+static imgtoolerr_t prodos_diskimage_create_35(imgtool::image &image, imgtool::stream::ptr &&dummy, util::option_resolution *opts)
{
prodos_setprocs_35(image);
return prodos_diskimage_create(image, opts);
@@ -720,7 +720,7 @@ static imgtoolerr_t prodos_diskimage_create_35(imgtool::image *image, imgtool::s
/* ----------------------------------------------------------------------- */
-static imgtoolerr_t prodos_enum_seek(imgtool::image *image,
+static imgtoolerr_t prodos_enum_seek(imgtool::image &image,
prodos_direnum *appleenum, UINT32 block, UINT32 index)
{
imgtoolerr_t err;
@@ -798,7 +798,7 @@ static UINT8 *alloc_info_block(UINT8 *buffer, size_t block_size, UINT8 block_typ
-static imgtoolerr_t prodos_get_next_dirent(imgtool::image *image,
+static imgtoolerr_t prodos_get_next_dirent(imgtool::image &image,
prodos_direnum *appleenum, prodos_dirent *ent)
{
imgtoolerr_t err;
@@ -908,7 +908,7 @@ static imgtoolerr_t prodos_get_next_dirent(imgtool::image *image,
/* changes a normal file to a ProDOS extended file */
-static imgtoolerr_t prodos_promote_file(imgtool::image *image, UINT8 *bitmap, prodos_dirent *ent)
+static imgtoolerr_t prodos_promote_file(imgtool::image &image, UINT8 *bitmap, prodos_dirent *ent)
{
imgtoolerr_t err;
UINT16 new_block;
@@ -933,7 +933,7 @@ static imgtoolerr_t prodos_promote_file(imgtool::image *image, UINT8 *bitmap, pr
-static imgtoolerr_t prodos_put_dirent(imgtool::image *image,
+static imgtoolerr_t prodos_put_dirent(imgtool::image &image,
prodos_direnum *appleenum, prodos_dirent *ent)
{
imgtoolerr_t err;
@@ -1066,7 +1066,7 @@ static imgtoolerr_t prodos_put_dirent(imgtool::image *image,
-static imgtoolerr_t prodos_lookup_path(imgtool::image *image, const char *path,
+static imgtoolerr_t prodos_lookup_path(imgtool::image &image, const char *path,
creation_policy_t create, prodos_direnum *direnum, prodos_dirent *ent)
{
imgtoolerr_t err;
@@ -1214,7 +1214,7 @@ done:
-static imgtoolerr_t prodos_fill_file(imgtool::image *image, UINT8 *bitmap,
+static imgtoolerr_t prodos_fill_file(imgtool::image &image, UINT8 *bitmap,
UINT16 key_block, int key_block_allocated,
int depth, UINT32 blockcount, UINT32 block_index)
{
@@ -1299,7 +1299,7 @@ static imgtoolerr_t prodos_fill_file(imgtool::image *image, UINT8 *bitmap,
-static imgtoolerr_t prodos_set_file_block_count(imgtool::image *image, prodos_direnum *direnum,
+static imgtoolerr_t prodos_set_file_block_count(imgtool::image &image, prodos_direnum *direnum,
prodos_dirent *ent, UINT8 *bitmap, int fork_num, UINT32 new_blockcount)
{
imgtoolerr_t err;
@@ -1423,7 +1423,7 @@ static imgtoolerr_t prodos_set_file_block_count(imgtool::image *image, prodos_di
-static imgtoolerr_t prodos_set_file_size(imgtool::image *image, prodos_direnum *direnum,
+static imgtoolerr_t prodos_set_file_size(imgtool::image &image, prodos_direnum *direnum,
prodos_dirent *ent, int fork_num, UINT32 new_size)
{
imgtoolerr_t err = IMGTOOLERR_SUCCESS;
@@ -1489,12 +1489,11 @@ static UINT32 prodos_get_storagetype_maxfilesize(UINT8 storage_type)
static imgtoolerr_t prodos_diskimage_beginenum(imgtool::directory *enumeration, const char *path)
{
imgtoolerr_t err;
- imgtool::image *image;
+ imgtool::image &image(enumeration->image());
prodos_direnum *appleenum;
prodos_dirent ent;
UINT16 block = ROOTDIR_BLOCK;
- image = &enumeration->image();
appleenum = (prodos_direnum *) enumeration->extra_bytes();
/* find subdirectory, if appropriate */
@@ -1524,12 +1523,11 @@ static imgtoolerr_t prodos_diskimage_beginenum(imgtool::directory *enumeration,
static imgtoolerr_t prodos_diskimage_nextenum(imgtool::directory *enumeration, imgtool_dirent *ent)
{
imgtoolerr_t err;
- imgtool::image *image;
+ imgtool::image &image(enumeration->image());
prodos_direnum *appleenum;
prodos_dirent pd_ent;
UINT32 max_filesize;
- image = &enumeration->image();
appleenum = (prodos_direnum *) enumeration->extra_bytes();
do
@@ -1570,7 +1568,7 @@ static imgtoolerr_t prodos_diskimage_nextenum(imgtool::directory *enumeration, i
-static imgtoolerr_t prodos_read_file_tree(imgtool::image *image, UINT32 *filesize,
+static imgtoolerr_t prodos_read_file_tree(imgtool::image &image, UINT32 *filesize,
UINT32 block, int nest_level, imgtool::stream &destf)
{
imgtoolerr_t err;
@@ -1620,7 +1618,7 @@ static imgtoolerr_t prodos_read_file_tree(imgtool::image *image, UINT32 *filesiz
-static imgtoolerr_t prodos_write_file_tree(imgtool::image *image, UINT32 *filesize,
+static imgtoolerr_t prodos_write_file_tree(imgtool::image &image, UINT32 *filesize,
UINT32 block, int nest_level, imgtool::stream &sourcef)
{
imgtoolerr_t err;
@@ -1678,7 +1676,7 @@ static imgtoolerr_t prodos_write_file_tree(imgtool::image *image, UINT32 *filesi
static imgtoolerr_t prodos_diskimage_freespace(imgtool::partition *partition, UINT64 *size)
{
imgtoolerr_t err;
- imgtool::image *image = &partition->image();
+ imgtool::image &image(partition->image());
prodos_diskinfo *di;
UINT8 *bitmap = NULL;
UINT16 i;
@@ -1707,7 +1705,7 @@ done:
static imgtoolerr_t prodos_diskimage_readfile(imgtool::partition *partition, const char *filename, const char *fork, imgtool::stream &destf)
{
imgtoolerr_t err;
- imgtool::image *image = &partition->image();
+ imgtool::image &image(partition->image());
prodos_dirent ent;
UINT16 key_pointer;
int nest_level;
@@ -1747,7 +1745,7 @@ static imgtoolerr_t prodos_diskimage_readfile(imgtool::partition *partition, con
static imgtoolerr_t prodos_diskimage_writefile(imgtool::partition *partition, const char *filename, const char *fork, imgtool::stream &sourcef, util::option_resolution *opts)
{
imgtoolerr_t err;
- imgtool::image *image = &partition->image();
+ imgtool::image &image(partition->image());
prodos_dirent ent;
prodos_direnum direnum;
UINT64 file_size;
@@ -1785,7 +1783,7 @@ static imgtoolerr_t prodos_diskimage_writefile(imgtool::partition *partition, co
static imgtoolerr_t prodos_diskimage_deletefile(imgtool::partition *partition, const char *path)
{
imgtoolerr_t err;
- imgtool::image *image = &partition->image();
+ imgtool::image &image(partition->image());
prodos_dirent ent;
prodos_direnum direnum;
@@ -1818,7 +1816,7 @@ static imgtoolerr_t prodos_diskimage_deletefile(imgtool::partition *partition, c
static imgtoolerr_t prodos_diskimage_listforks(imgtool::partition *partition, const char *path, imgtool_forkent *ents, size_t len)
{
imgtoolerr_t err;
- imgtool::image *image = &partition->image();
+ imgtool::image &image(partition->image());
prodos_dirent ent;
prodos_direnum direnum;
int fork_num = 0;
@@ -1854,7 +1852,7 @@ static imgtoolerr_t prodos_diskimage_listforks(imgtool::partition *partition, co
static imgtoolerr_t prodos_diskimage_createdir(imgtool::partition *partition, const char *path)
{
imgtoolerr_t err;
- imgtool::image *image = &partition->image();
+ imgtool::image &image(partition->image());
prodos_dirent ent;
prodos_direnum direnum;
@@ -1871,7 +1869,7 @@ static imgtoolerr_t prodos_diskimage_createdir(imgtool::partition *partition, co
-static imgtoolerr_t prodos_free_directory(imgtool::image *image, UINT8 *volume_bitmap, UINT16 key_pointer)
+static imgtoolerr_t prodos_free_directory(imgtool::image &image, UINT8 *volume_bitmap, UINT16 key_pointer)
{
imgtoolerr_t err;
prodos_diskinfo *di;
@@ -1912,7 +1910,7 @@ static imgtoolerr_t prodos_free_directory(imgtool::image *image, UINT8 *volume_b
static imgtoolerr_t prodos_diskimage_deletedir(imgtool::partition *partition, const char *path)
{
imgtoolerr_t err;
- imgtool::image *image = &partition->image();
+ imgtool::image &image(partition->image());
prodos_dirent ent;
prodos_direnum direnum;
UINT8 *volume_bitmap = NULL;
@@ -1953,7 +1951,7 @@ done:
-static imgtoolerr_t prodos_get_file_tree(imgtool::image *image, imgtool_chainent *chain, size_t chain_size,
+static imgtoolerr_t prodos_get_file_tree(imgtool::image &image, imgtool_chainent *chain, size_t chain_size,
size_t *chain_pos, UINT16 block, UINT8 total_depth, UINT8 cur_depth)
{
imgtoolerr_t err;
@@ -2002,7 +2000,7 @@ static imgtoolerr_t prodos_get_file_tree(imgtool::image *image, imgtool_chainent
static imgtoolerr_t prodos_diskimage_getattrs(imgtool::partition *partition, const char *path, const UINT32 *attrs, imgtool_attribute *values)
{
imgtoolerr_t err;
- imgtool::image *image = &partition->image();
+ imgtool::image &image(partition->image());
prodos_dirent ent;
int i;
@@ -2065,7 +2063,7 @@ static imgtoolerr_t prodos_diskimage_getattrs(imgtool::partition *partition, con
static imgtoolerr_t prodos_diskimage_setattrs(imgtool::partition *partition, const char *path, const UINT32 *attrs, const imgtool_attribute *values)
{
imgtoolerr_t err;
- imgtool::image *image = &partition->image();
+ imgtool::image &image(partition->image());
prodos_dirent ent;
prodos_direnum direnum;
int i;
@@ -2133,7 +2131,7 @@ static imgtoolerr_t prodos_diskimage_setattrs(imgtool::partition *partition, con
static imgtoolerr_t prodos_diskimage_suggesttransfer(imgtool::partition *partition, const char *path, imgtool_transfer_suggestion *suggestions, size_t suggestions_length)
{
imgtoolerr_t err;
- imgtool::image *image = &partition->image();
+ imgtool::image &image(partition->image());
prodos_dirent ent;
mac_filecategory_t file_category = MAC_FILECATEGORY_DATA;
@@ -2156,7 +2154,7 @@ static imgtoolerr_t prodos_diskimage_suggesttransfer(imgtool::partition *partiti
static imgtoolerr_t prodos_diskimage_getchain(imgtool::partition *partition, const char *path, imgtool_chainent *chain, size_t chain_size)
{
imgtoolerr_t err;
- imgtool::image *image = &partition->image();
+ imgtool::image &image(partition->image());
prodos_dirent ent;
size_t chain_pos = 0;
int fork_num;
diff --git a/src/tools/imgtool/modules/psion.cpp b/src/tools/imgtool/modules/psion.cpp
index 81ad35653bd..4f9cc40168a 100644
--- a/src/tools/imgtool/modules/psion.cpp
+++ b/src/tools/imgtool/modules/psion.cpp
@@ -49,6 +49,11 @@ struct psion_iter
UINT16 index;
};
+static psion_pack *get_psion_pack(imgtool::image &image)
+{
+ return (psion_pack*)image.extra_bytes();
+}
+
UINT16 head_checksum(UINT8* data)
{
UINT16 checksum = 0;
@@ -385,9 +390,9 @@ UINT16 get_ob3(imgtool::stream &instream, imgtool::stream &outstream, UINT8 type
return size;
}
-static imgtoolerr_t datapack_open(imgtool::image *image, imgtool::stream::ptr &&stream)
+static imgtoolerr_t datapack_open(imgtool::image &image, imgtool::stream::ptr &&stream)
{
- psion_pack *pack = (psion_pack*)image->extra_bytes();
+ psion_pack *pack = get_psion_pack(image);
char opk_magic[4];
stream->read(opk_magic, 4);
@@ -408,9 +413,9 @@ static imgtoolerr_t datapack_open(imgtool::image *image, imgtool::stream::ptr &&
}
}
-static imgtoolerr_t datapack_create(imgtool::image *image, imgtool::stream::ptr &&stream, util::option_resolution *opts)
+static imgtoolerr_t datapack_create(imgtool::image &image, imgtool::stream::ptr &&stream, util::option_resolution *opts)
{
- psion_pack *pack = (psion_pack*)image->extra_bytes();
+ psion_pack *pack = get_psion_pack(image);
static const UINT8 opk_magic[4] = {'O', 'P', 'K', 0x00};
UINT8 pack_head[8] = {0x40, 0x00, 0x59, 0x01, 0x01, 0x01, 0x00, 0x00};
UINT16 checksum;
@@ -450,9 +455,9 @@ static imgtoolerr_t datapack_create(imgtool::image *image, imgtool::stream::ptr
}
}
-static void datapack_close( imgtool::image *image)
+static void datapack_close(imgtool::image &image)
{
- psion_pack *pack = (psion_pack*)image->extra_bytes();
+ psion_pack *pack = get_psion_pack(image);
delete pack->stream;
}
@@ -467,8 +472,8 @@ static imgtoolerr_t datapack_begin_enum(imgtool::directory *enumeration, const c
static imgtoolerr_t datapack_next_enum(imgtool::directory *enumeration, imgtool_dirent *ent)
{
- imgtool::image *image = &enumeration->image();
- psion_pack *pack = (psion_pack*)image->extra_bytes();
+ imgtool::image &image(enumeration->image());
+ psion_pack *pack = get_psion_pack(image);
psion_iter *iter = (psion_iter*)enumeration->extra_bytes();
UINT8 data = 0;
@@ -508,8 +513,8 @@ static void datapack_close_enum( imgtool::directory *enumeration)
static imgtoolerr_t datapack_free_space( imgtool::partition *partition, UINT64 *size)
{
- imgtool::image *image = &partition->image();
- psion_pack *pack = (psion_pack*)image->extra_bytes();
+ imgtool::image &image(partition->image());
+ psion_pack *pack = get_psion_pack(image);
UINT32 pack_size = 0;
pack->stream->seek(0x07, SEEK_SET);
@@ -523,8 +528,8 @@ static imgtoolerr_t datapack_free_space( imgtool::partition *partition, UINT64 *
static imgtoolerr_t datapack_read_file(imgtool::partition *partition, const char *filename, const char *fork, imgtool::stream &destf)
{
- imgtool::image *image = &partition->image();
- psion_pack *pack = (psion_pack*)image->extra_bytes();
+ imgtool::image &image(partition->image());
+ psion_pack *pack = get_psion_pack(image);
int index = seek_file_name(pack, filename);
if (index >= 0)
@@ -555,8 +560,8 @@ static imgtoolerr_t datapack_read_file(imgtool::partition *partition, const char
static imgtoolerr_t datapack_write_file( imgtool::partition *partition, const char *filename, const char *fork, imgtool::stream &sourcef, util::option_resolution *opts)
{
- imgtool::image *image = &partition->image();
- psion_pack *pack = (psion_pack*)image->extra_bytes();
+ imgtool::image &image(partition->image());
+ psion_pack *pack = get_psion_pack(image);
static const UINT8 data_head[4] = {0x02, 0x80, 0x00, 0x00};
UINT8 head[3];
UINT16 size = 0;
@@ -617,8 +622,8 @@ static imgtoolerr_t datapack_write_file( imgtool::partition *partition, const ch
static imgtoolerr_t datapack_delete_file( imgtool::partition *partition, const char *filename)
{
- imgtool::image *image = &partition->image();
- psion_pack *pack = (psion_pack*)image->extra_bytes();
+ imgtool::image &image(partition->image());
+ psion_pack *pack = get_psion_pack(image);
int index = seek_file_name(pack, filename);
if (index >= 0)
diff --git a/src/tools/imgtool/modules/rsdos.cpp b/src/tools/imgtool/modules/rsdos.cpp
index 501a50e814e..a7a082b6e95 100644
--- a/src/tools/imgtool/modules/rsdos.cpp
+++ b/src/tools/imgtool/modules/rsdos.cpp
@@ -44,14 +44,14 @@ struct rsdos_direnum
*********************************************************************/
#define MAX_DIRENTS ((18-2)*(256/32))
-static floperr_t get_rsdos_dirent(imgtool::image *f, int index_loc, struct rsdos_dirent *ent)
+static floperr_t get_rsdos_dirent(imgtool::image &f, int index_loc, struct rsdos_dirent *ent)
{
return floppy_read_sector(imgtool_floppy(f), 0, 17, 3, index_loc * 32, (void *) ent, sizeof(*ent));
}
-static floperr_t put_rsdos_dirent(imgtool::image *f, int index_loc, const struct rsdos_dirent *ent)
+static floperr_t put_rsdos_dirent(imgtool::image &f, int index_loc, const struct rsdos_dirent *ent)
{
if (index_loc >= MAX_DIRENTS)
return (floperr_t)IMGTOOLERR_FILENOTFOUND;
@@ -80,7 +80,7 @@ static void get_dirent_fname(char *fnamebuf, const struct rsdos_dirent *ent)
-static imgtoolerr_t lookup_rsdos_file(imgtool::image *f, const char *fname, struct rsdos_dirent *ent, int *position)
+static imgtoolerr_t lookup_rsdos_file(imgtool::image &f, const char *fname, struct rsdos_dirent *ent, int *position)
{
int i;
floperr_t ferr;
@@ -115,7 +115,7 @@ static imgtoolerr_t lookup_rsdos_file(imgtool::image *f, const char *fname, stru
-static UINT8 get_granule_count(imgtool::image *img)
+static UINT8 get_granule_count(imgtool::image &img)
{
UINT16 tracks;
UINT16 granules;
@@ -128,7 +128,7 @@ static UINT8 get_granule_count(imgtool::image *img)
#define MAX_GRANULEMAP_SIZE 256
/* granule_map must be an array of MAX_GRANULEMAP_SIZE bytes */
-static floperr_t get_granule_map(imgtool::image *img, UINT8 *granule_map, UINT8 *granule_count)
+static floperr_t get_granule_map(imgtool::image &img, UINT8 *granule_map, UINT8 *granule_count)
{
UINT8 count;
@@ -141,7 +141,7 @@ static floperr_t get_granule_map(imgtool::image *img, UINT8 *granule_map, UINT8
-static floperr_t put_granule_map(imgtool::image *img, const UINT8 *granule_map, UINT8 granule_count)
+static floperr_t put_granule_map(imgtool::image &img, const UINT8 *granule_map, UINT8 granule_count)
{
return floppy_write_sector(imgtool_floppy(img), 0, 17, 2, 0, granule_map, granule_count, 0); /* TODO: pass ddam argument from imgtool */
}
@@ -149,7 +149,7 @@ static floperr_t put_granule_map(imgtool::image *img, const UINT8 *granule_map,
-static imgtoolerr_t transfer_granule(imgtool::image *img, UINT8 granule, int length, imgtool::stream &f, imgtoolerr_t (*proc)(imgtool::image *, int, int, int, int, size_t, imgtool::stream &))
+static imgtoolerr_t transfer_granule(imgtool::image &img, UINT8 granule, int length, imgtool::stream &f, imgtoolerr_t (*proc)(imgtool::image &, int, int, int, int, size_t, imgtool::stream &))
{
imgtoolerr_t err = IMGTOOLERR_SUCCESS;
UINT8 track, sector;
@@ -167,21 +167,21 @@ static imgtoolerr_t transfer_granule(imgtool::image *img, UINT8 granule, int len
-static imgtoolerr_t transfer_from_granule(imgtool::image *img, UINT8 granule, int length, imgtool::stream &destf)
+static imgtoolerr_t transfer_from_granule(imgtool::image &img, UINT8 granule, int length, imgtool::stream &destf)
{
return transfer_granule(img, granule, length, destf, imgtool_floppy_read_sector_to_stream);
}
-static imgtoolerr_t transfer_to_granule(imgtool::image *img, UINT8 granule, int length, imgtool::stream &sourcef)
+static imgtoolerr_t transfer_to_granule(imgtool::image &img, UINT8 granule, int length, imgtool::stream &sourcef)
{
return transfer_granule(img, granule, length, sourcef, imgtool_floppy_write_sector_from_stream);
}
-static imgtoolerr_t process_rsdos_file(struct rsdos_dirent *ent, imgtool::image *img, imgtool::stream *destf, size_t *size)
+static imgtoolerr_t process_rsdos_file(struct rsdos_dirent *ent, imgtool::image &img, imgtool::stream *destf, size_t *size)
{
floperr_t ferr;
size_t s, lastgransize;
@@ -270,9 +270,8 @@ static imgtoolerr_t rsdos_diskimage_nextenum(imgtool::directory *enumeration, im
struct rsdos_direnum *rsenum;
struct rsdos_dirent rsent;
char fname[13];
- imgtool::image *image;
- image = &enumeration->image();
+ imgtool::image &image(enumeration->image());
rsenum = (struct rsdos_direnum *) enumeration->extra_bytes();
/* Did we hit the end of file before? */
@@ -334,7 +333,7 @@ static imgtoolerr_t rsdos_diskimage_freespace(imgtool::partition *partition, UIN
size_t s = 0;
UINT8 granule_count;
UINT8 granule_map[MAX_GRANULEMAP_SIZE];
- imgtool::image *image = &partition->image();
+ imgtool::image &image(partition->image());
ferr = get_granule_map(image, granule_map, &granule_count);
if (ferr)
@@ -351,7 +350,7 @@ static imgtoolerr_t rsdos_diskimage_freespace(imgtool::partition *partition, UIN
-static imgtoolerr_t delete_entry(imgtool::image *img, struct rsdos_dirent *ent, int pos)
+static imgtoolerr_t delete_entry(imgtool::image &img, struct rsdos_dirent *ent, int pos)
{
floperr_t ferr;
unsigned char g, i;
@@ -391,7 +390,7 @@ static imgtoolerr_t rsdos_diskimage_readfile(imgtool::partition *partition, cons
imgtoolerr_t err;
struct rsdos_dirent ent;
size_t size;
- imgtool::image *img = &partition->image();
+ imgtool::image &img(partition->image());
err = lookup_rsdos_file(img, fname, &ent, NULL);
if (err)
@@ -413,7 +412,7 @@ static imgtoolerr_t rsdos_diskimage_writefile(imgtool::partition *partition, con
{
floperr_t ferr;
imgtoolerr_t err;
- imgtool::image *img = &partition->image();
+ imgtool::image &img(partition->image());
struct rsdos_dirent ent, ent2;
size_t i;
UINT64 sz;
@@ -517,7 +516,7 @@ static imgtoolerr_t rsdos_diskimage_writefile(imgtool::partition *partition, con
static imgtoolerr_t rsdos_diskimage_deletefile(imgtool::partition *partition, const char *fname)
{
imgtoolerr_t err;
- imgtool::image *image = &partition->image();
+ imgtool::image &image(partition->image());
int pos;
struct rsdos_dirent ent;
@@ -533,7 +532,7 @@ static imgtoolerr_t rsdos_diskimage_deletefile(imgtool::partition *partition, co
static imgtoolerr_t rsdos_diskimage_suggesttransfer(imgtool::partition *partition, const char *fname, imgtool_transfer_suggestion *suggestions, size_t suggestions_length)
{
imgtoolerr_t err;
- imgtool::image *image = &partition->image();
+ imgtool::image &image(partition->image());
struct rsdos_dirent ent;
int pos;
diff --git a/src/tools/imgtool/modules/thomson.cpp b/src/tools/imgtool/modules/thomson.cpp
index 343f128c2bf..aa6a9977d3e 100644
--- a/src/tools/imgtool/modules/thomson.cpp
+++ b/src/tools/imgtool/modules/thomson.cpp
@@ -167,6 +167,11 @@ static UINT8* thom_get_sector(thom_floppy* f, unsigned head,
unsigned track, unsigned sector);
+static thom_floppy *get_thom_floppy(imgtool::image &image)
+{
+ return (thom_floppy*)image.extra_bytes();
+}
+
/*********************** .fd / .qd format ************************/
/* .fd and .qd formats are very simple: the sectors are simply put one after
@@ -177,9 +182,9 @@ static UINT8* thom_get_sector(thom_floppy* f, unsigned head,
(.fd have 40 or 80 tracks, .qd have 25 tracks) and the file size.
*/
-static imgtoolerr_t thom_open_fd_qd(imgtool::image *img, imgtool::stream::ptr &&stream)
+static imgtoolerr_t thom_open_fd_qd(imgtool::image &img, imgtool::stream::ptr &&stream)
{
- thom_floppy* f = (thom_floppy*) img->extra_bytes();
+ thom_floppy* f = get_thom_floppy(img);
int size = stream->size();
f->stream = stream.get();
@@ -246,9 +251,9 @@ static imgtoolerr_t thom_open_fd_qd(imgtool::image *img, imgtool::stream::ptr &&
return IMGTOOLERR_SUCCESS;
}
-static void thom_close_fd_qd(imgtool::image *img)
+static void thom_close_fd_qd(imgtool::image &img)
{
- thom_floppy* f = (thom_floppy*) img->extra_bytes();
+ thom_floppy* f = get_thom_floppy(img);
/* save image */
if ( f->modified ) {
@@ -309,9 +314,9 @@ static UINT16 thom_sap_crc( UINT8* data, int size )
return crc;
}
-static imgtoolerr_t thom_open_sap(imgtool::image *img, imgtool::stream::ptr &&stream)
+static imgtoolerr_t thom_open_sap(imgtool::image &img, imgtool::stream::ptr &&stream)
{
- thom_floppy* f = (thom_floppy*) img->extra_bytes();
+ thom_floppy* f = get_thom_floppy(img);
UINT8 buf[262];
f->stream = stream.get();
@@ -375,9 +380,9 @@ static imgtoolerr_t thom_open_sap(imgtool::image *img, imgtool::stream::ptr &&st
return IMGTOOLERR_SUCCESS;
}
-static void thom_close_sap(imgtool::image *img)
+static void thom_close_sap(imgtool::image &img)
{
- thom_floppy* f = (thom_floppy*) img->extra_bytes();
+ thom_floppy* f = get_thom_floppy(img);
if ( f->modified ) {
int i, sector, track;
@@ -803,20 +808,20 @@ static void thom_put_file(thom_floppy* f, unsigned head,
/********************** module functions ***********************/
-static imgtoolerr_t thom_get_geometry(imgtool::image* img, UINT32* tracks,
+static imgtoolerr_t thom_get_geometry(imgtool::image &img, UINT32* tracks,
UINT32* heads, UINT32* sectors)
{
- thom_floppy* f = (thom_floppy*) img->extra_bytes();
+ thom_floppy* f = get_thom_floppy(img);
if ( tracks ) *tracks = f->tracks;
if ( heads ) *heads = f->heads;
if ( sectors ) *sectors = 16;
return IMGTOOLERR_SUCCESS;
}
-static imgtoolerr_t thom_read_sector(imgtool::image* img, UINT32 track,
+static imgtoolerr_t thom_read_sector(imgtool::image &img, UINT32 track,
UINT32 head, UINT32 sector, std::vector<UINT8> &buffer)
{
- thom_floppy* f = (thom_floppy*) img->extra_bytes();
+ thom_floppy* f = get_thom_floppy(img);
if ( head >= f->heads || sector < 1 || sector > 16 || track >= f->tracks )
return IMGTOOLERR_SEEKERROR;
@@ -828,11 +833,11 @@ static imgtoolerr_t thom_read_sector(imgtool::image* img, UINT32 track,
return IMGTOOLERR_SUCCESS;
}
-static imgtoolerr_t thom_write_sector(imgtool::image *img, UINT32 track,
+static imgtoolerr_t thom_write_sector(imgtool::image &img, UINT32 track,
UINT32 head, UINT32 sector,
const void *buf, size_t len, int ddam)
{
- thom_floppy* f = (thom_floppy*) img->extra_bytes();
+ thom_floppy* f = get_thom_floppy(img);
if ( f->stream->is_read_only() ) return IMGTOOLERR_WRITEERROR;
if ( head >= f->heads || sector < 1 || sector > 16 || track >= f->tracks )
return IMGTOOLERR_SEEKERROR;
@@ -845,9 +850,9 @@ static imgtoolerr_t thom_write_sector(imgtool::image *img, UINT32 track,
/* returns floopy name */
/* actually, each side has its own name, but we only return the one on side 0.
*/
-static void thom_info(imgtool::image *img, char *string, size_t len)
+static void thom_info(imgtool::image &img, char *string, size_t len)
{
- thom_floppy* f = (thom_floppy*) img->extra_bytes();
+ thom_floppy* f = get_thom_floppy(img);
UINT8* base = thom_get_sector( f, 0, 20, 1 );
char buf[9];
memcpy( buf, base, 8 );
@@ -858,11 +863,11 @@ static void thom_info(imgtool::image *img, char *string, size_t len)
/* each side of a floppy has its own filesystem, we treat them as'partitions'
*/
-static imgtoolerr_t thom_list_partitions(imgtool::image *img,
+static imgtoolerr_t thom_list_partitions(imgtool::image &img,
imgtool_partition_info *partitions,
size_t len)
{
- thom_floppy* f = (thom_floppy*) img->extra_bytes();
+ thom_floppy* f = get_thom_floppy(img);
if ( len >= 1 ) {
partitions[0].get_info = thom_basic_get_info;
partitions[0].base_block = 0;
@@ -879,8 +884,8 @@ static imgtoolerr_t thom_list_partitions(imgtool::image *img,
static imgtoolerr_t thom_open_partition(imgtool::partition *part,
UINT64 first_block, UINT64 block_count)
{
- imgtool::image* img = &part->image();
- thom_floppy* f = (thom_floppy*) img->extra_bytes();
+ imgtool::image &img(part->image());
+ thom_floppy* f = get_thom_floppy(img);
if ( first_block >= f->heads )
return IMGTOOLERR_INVALIDPARTITION;
* ( (int*) part->extra_bytes() ) = first_block;
@@ -901,8 +906,8 @@ static imgtoolerr_t thom_next_enum(imgtool::directory *enumeration,
{
imgtool::partition *part = &enumeration->partition();
int head = *( (int*) part->extra_bytes() );
- imgtool::image* img = &part->image();
- thom_floppy* f = (thom_floppy*) img->extra_bytes();
+ imgtool::image &img(part->image());
+ thom_floppy* f = get_thom_floppy(img);
int* n = (int*) enumeration->extra_bytes();
thom_dirent d;
@@ -937,8 +942,8 @@ static imgtoolerr_t thom_next_enum(imgtool::directory *enumeration,
static imgtoolerr_t thom_free_space(imgtool::partition *part, UINT64 *size)
{
int head = *( (int*) part->extra_bytes() );
- imgtool::image* img = &part->image();
- thom_floppy* f = (thom_floppy*) img->extra_bytes();
+ imgtool::image &img(part->image());
+ thom_floppy* f = get_thom_floppy(img);
int nb = thom_get_free_blocks( f, head );
(*size) = nb * f->sectuse_size * 8;
return IMGTOOLERR_SUCCESS;
@@ -950,8 +955,8 @@ static imgtoolerr_t thom_read_file(imgtool::partition *part,
imgtool::stream &destf)
{
int head = *( (int*) part->extra_bytes() );
- imgtool::image* img = &part->image();
- thom_floppy* f = (thom_floppy*) img->extra_bytes();
+ imgtool::image &img(part->image());
+ thom_floppy* f = get_thom_floppy(img);
thom_dirent d;
char name[9], ext[4], fname[14];
int size;
@@ -972,8 +977,8 @@ static imgtoolerr_t thom_delete_file(imgtool::partition *part,
const char *filename)
{
int head = *( (int*) part->extra_bytes() );
- imgtool::image* img = &part->image();
- thom_floppy* f = (thom_floppy*) img->extra_bytes();
+ imgtool::image &img(part->image());
+ thom_floppy* f = get_thom_floppy(img);
thom_dirent d;
char name[9], ext[4], fname[14];
@@ -996,8 +1001,8 @@ static imgtoolerr_t thom_write_file(imgtool::partition *part,
util::option_resolution *opts)
{
int head = *( (int*) part->extra_bytes() );
- imgtool::image* img = &part->image();
- thom_floppy* f = (thom_floppy*) img->extra_bytes();
+ imgtool::image &img(part->image());
+ thom_floppy* f = get_thom_floppy(img);
thom_dirent d;
int size = sourcef.size();
int blocks = thom_get_free_blocks( f, head );
@@ -1079,8 +1084,8 @@ static imgtoolerr_t thom_suggest_transfer(imgtool::partition *part,
size_t suggestions_length)
{
int head = *( (int*) part->extra_bytes() );
- imgtool::image* img = &part->image();
- thom_floppy* f = (thom_floppy*) img->extra_bytes();
+ imgtool::image &img(part->image());
+ thom_floppy* f = get_thom_floppy(img);
thom_dirent d;
int is_basic = 0;
@@ -1116,11 +1121,11 @@ static imgtoolerr_t thom_suggest_transfer(imgtool::partition *part,
return IMGTOOLERR_SUCCESS;
}
-static imgtoolerr_t thom_create(imgtool::image* img,
+static imgtoolerr_t thom_create(imgtool::image &img,
imgtool::stream::ptr &&stream,
util::option_resolution *opts)
{
- thom_floppy* f = (thom_floppy*) img->extra_bytes();
+ thom_floppy* f = get_thom_floppy(img);
int i;
UINT8* buf;
const char* name;
diff --git a/src/tools/imgtool/modules/ti99.cpp b/src/tools/imgtool/modules/ti99.cpp
index bb3a17356fc..82905264d68 100644
--- a/src/tools/imgtool/modules/ti99.cpp
+++ b/src/tools/imgtool/modules/ti99.cpp
@@ -1745,6 +1745,11 @@ struct ti99_lvl2_fileref
};
};
+static struct ti99_lvl2_imgref *get_lvl2_imgref(imgtool::image &image)
+{
+ return (struct ti99_lvl2_imgref *) image.extra_bytes();
+}
+
/*
Compare two (possibly empty) catalog entry for qsort
*/
@@ -3848,13 +3853,13 @@ struct win_iterator
};
-static imgtoolerr_t dsk_image_init_mess(imgtool::image *image, imgtool::stream::ptr &&stream);
-static imgtoolerr_t dsk_image_init_v9t9(imgtool::image *image, imgtool::stream::ptr &&stream);
-static imgtoolerr_t dsk_image_init_pc99_fm(imgtool::image *image, imgtool::stream::ptr &&stream);
-static imgtoolerr_t dsk_image_init_pc99_mfm(imgtool::image *image, imgtool::stream::ptr &&stream);
-static imgtoolerr_t win_image_init(imgtool::image *image, imgtool::stream::ptr &&stream);
-static void ti99_image_exit(imgtool::image *img);
-static void ti99_image_info(imgtool::image *img, char *string, size_t len);
+static imgtoolerr_t dsk_image_init_mess(imgtool::image &image, imgtool::stream::ptr &&stream);
+static imgtoolerr_t dsk_image_init_v9t9(imgtool::image &image, imgtool::stream::ptr &&stream);
+static imgtoolerr_t dsk_image_init_pc99_fm(imgtool::image &image, imgtool::stream::ptr &&stream);
+static imgtoolerr_t dsk_image_init_pc99_mfm(imgtool::image &image, imgtool::stream::ptr &&stream);
+static imgtoolerr_t win_image_init(imgtool::image &image, imgtool::stream::ptr &&stream);
+static void ti99_image_exit(imgtool::image &img);
+static void ti99_image_info(imgtool::image &img, char *string, size_t len);
static imgtoolerr_t dsk_image_beginenum(imgtool::directory *enumeration, const char *path);
static imgtoolerr_t dsk_image_nextenum(imgtool::directory *enumeration, imgtool_dirent *ent);
static imgtoolerr_t win_image_beginenum(imgtool::directory *enumeration, const char *path);
@@ -3864,8 +3869,8 @@ static imgtoolerr_t ti99_image_readfile(imgtool::partition *partition, const cha
static imgtoolerr_t ti99_image_writefile(imgtool::partition *partition, const char *fpath, const char *fork, imgtool::stream &sourcef, util::option_resolution *writeoptions);
static imgtoolerr_t dsk_image_deletefile(imgtool::partition *partition, const char *fpath);
static imgtoolerr_t win_image_deletefile(imgtool::partition *partition, const char *fpath);
-static imgtoolerr_t dsk_image_create_mess(imgtool::image *image, imgtool::stream::ptr &&stream, util::option_resolution *createoptions);
-static imgtoolerr_t dsk_image_create_v9t9(imgtool::image *image, imgtool::stream::ptr &&stream, util::option_resolution *createoptions);
+static imgtoolerr_t dsk_image_create_mess(imgtool::image &image, imgtool::stream::ptr &&stream, util::option_resolution *createoptions);
+static imgtoolerr_t dsk_image_create_v9t9(imgtool::image &image, imgtool::stream::ptr &&stream, util::option_resolution *createoptions);
enum
{
@@ -3995,9 +4000,9 @@ void ti99_ti99hd_get_info(const imgtool_class *imgclass, UINT32 state, union img
/*
Open a file as a ti99_image (common code).
*/
-static imgtoolerr_t dsk_image_init(imgtool::image *img, imgtool::stream::ptr &&stream, ti99_img_format img_format)
+static imgtoolerr_t dsk_image_init(imgtool::image &img, imgtool::stream::ptr &&stream, ti99_img_format img_format)
{
- struct ti99_lvl2_imgref *image = (struct ti99_lvl2_imgref *) img->extra_bytes();
+ struct ti99_lvl2_imgref *image = get_lvl2_imgref(img);
dsk_vib vib;
imgtoolerr_t reply;
int totphysrecs;
@@ -4096,7 +4101,7 @@ static imgtoolerr_t dsk_image_init(imgtool::image *img, imgtool::stream::ptr &&s
/*
Open a file as a ti99_image (MESS format).
*/
-static imgtoolerr_t dsk_image_init_mess(imgtool::image *image, imgtool::stream::ptr &&stream)
+static imgtoolerr_t dsk_image_init_mess(imgtool::image &image, imgtool::stream::ptr &&stream)
{
return dsk_image_init(image, std::move(stream), if_mess);
}
@@ -4104,7 +4109,7 @@ static imgtoolerr_t dsk_image_init_mess(imgtool::image *image, imgtool::stream::
/*
Open a file as a ti99_image (V9T9 format).
*/
-static imgtoolerr_t dsk_image_init_v9t9(imgtool::image *image, imgtool::stream::ptr &&stream)
+static imgtoolerr_t dsk_image_init_v9t9(imgtool::image &image, imgtool::stream::ptr &&stream)
{
return dsk_image_init(image, std::move(stream), if_v9t9);
}
@@ -4112,7 +4117,7 @@ static imgtoolerr_t dsk_image_init_v9t9(imgtool::image *image, imgtool::stream::
/*
Open a file as a ti99_image (PC99 FM format).
*/
-static imgtoolerr_t dsk_image_init_pc99_fm(imgtool::image *image, imgtool::stream::ptr &&stream)
+static imgtoolerr_t dsk_image_init_pc99_fm(imgtool::image &image, imgtool::stream::ptr &&stream)
{
return dsk_image_init(image, std::move(stream), if_pc99_fm);
}
@@ -4120,7 +4125,7 @@ static imgtoolerr_t dsk_image_init_pc99_fm(imgtool::image *image, imgtool::strea
/*
Open a file as a ti99_image (PC99 MFM format).
*/
-static imgtoolerr_t dsk_image_init_pc99_mfm(imgtool::image *image, imgtool::stream::ptr &&stream)
+static imgtoolerr_t dsk_image_init_pc99_mfm(imgtool::image &image, imgtool::stream::ptr &&stream)
{
return dsk_image_init(image, std::move(stream), if_pc99_mfm);
}
@@ -4128,9 +4133,9 @@ static imgtoolerr_t dsk_image_init_pc99_mfm(imgtool::image *image, imgtool::stre
/*
Open a file as a ti99_image (harddisk format).
*/
-static imgtoolerr_t win_image_init(imgtool::image *img, imgtool::stream::ptr &&stream)
+static imgtoolerr_t win_image_init(imgtool::image &img, imgtool::stream::ptr &&stream)
{
- struct ti99_lvl2_imgref *image = (struct ti99_lvl2_imgref *) img->extra_bytes();
+ struct ti99_lvl2_imgref *image = get_lvl2_imgref(img);
win_vib_ddr vib;
int reply;
int i;
@@ -4184,9 +4189,9 @@ static imgtoolerr_t win_image_init(imgtool::image *img, imgtool::stream::ptr &&s
/*
close a ti99_image
*/
-static void ti99_image_exit(imgtool::image *img)
+static void ti99_image_exit(imgtool::image &img)
{
- struct ti99_lvl2_imgref *image = (struct ti99_lvl2_imgref *) img->extra_bytes();
+ struct ti99_lvl2_imgref *image = get_lvl2_imgref(img);
close_image_lvl1(&image->l1_img);
}
@@ -4196,9 +4201,9 @@ static void ti99_image_exit(imgtool::image *img)
Currently returns the volume name
*/
-static void ti99_image_info(imgtool::image *img, char *string, size_t len)
+static void ti99_image_info(imgtool::image &img, char *string, size_t len)
{
- struct ti99_lvl2_imgref *image = (struct ti99_lvl2_imgref *) img->extra_bytes();
+ struct ti99_lvl2_imgref *image = get_lvl2_imgref(img);
char vol_name[11];
fname_to_str(vol_name, image->vol_name, 11);
@@ -4211,7 +4216,7 @@ static void ti99_image_info(imgtool::image *img, char *string, size_t len)
*/
static imgtoolerr_t dsk_image_beginenum(imgtool::directory *enumeration, const char *path)
{
- struct ti99_lvl2_imgref *image = (struct ti99_lvl2_imgref *) enumeration->image().extra_bytes();
+ struct ti99_lvl2_imgref *image = get_lvl2_imgref(enumeration->image());
dsk_iterator *iter = (dsk_iterator *) enumeration->extra_bytes();
iter->image = image;
@@ -4336,7 +4341,7 @@ static imgtoolerr_t dsk_image_nextenum(imgtool::directory *enumeration, imgtool_
*/
static imgtoolerr_t win_image_beginenum(imgtool::directory *enumeration, const char *path)
{
- struct ti99_lvl2_imgref *image = (struct ti99_lvl2_imgref *) enumeration->image().extra_bytes();
+ struct ti99_lvl2_imgref *image = get_lvl2_imgref(enumeration->image());
win_iterator *iter = (win_iterator *) enumeration->extra_bytes();
imgtoolerr_t errorcode;
@@ -4480,8 +4485,8 @@ static imgtoolerr_t win_image_nextenum(imgtool::directory *enumeration, imgtool_
*/
static imgtoolerr_t ti99_image_freespace(imgtool::partition *partition, UINT64 *size)
{
- imgtool::image *img = &partition->image();
- struct ti99_lvl2_imgref *image = (struct ti99_lvl2_imgref *) img->extra_bytes();
+ imgtool::image &img(partition->image());
+ struct ti99_lvl2_imgref *image = get_lvl2_imgref(img);
size_t freeAUs;
int i;
@@ -4504,11 +4509,11 @@ static imgtoolerr_t ti99_image_freespace(imgtool::partition *partition, UINT64 *
*/
static imgtoolerr_t ti99_image_readfile(imgtool::partition *partition, const char *fpath, const char *fork, imgtool::stream &destf)
{
- imgtool::image *img = &partition->image();
+ imgtool::image &img(partition->image());
#if 1
/* extract data as TIFILES */
- struct ti99_lvl2_imgref *image = (struct ti99_lvl2_imgref *) img->extra_bytes();
+ struct ti99_lvl2_imgref *image = get_lvl2_imgref(img);
ti99_lvl2_fileref src_file;
ti99_lvl2_fileref dst_file;
ti99_date_time date_time;
@@ -4595,7 +4600,7 @@ static imgtoolerr_t ti99_image_readfile(imgtool::partition *partition, const cha
#else
- struct ti99_lvl2_imgref *image = (struct ti99_lvl2_imgref *) img->extra_bytes();
+ struct ti99_lvl2_imgref *image = get_lvl2_imgref(img);
ti99_lvl3_fileref src_file;
UINT8 buf[256];
int reclen;
@@ -4646,8 +4651,8 @@ static imgtoolerr_t ti99_image_readfile(imgtool::partition *partition, const cha
*/
static imgtoolerr_t ti99_image_writefile(imgtool::partition *partition, const char *fpath, const char *fork, imgtool::stream &sourcef, util::option_resolution *writeoptions)
{
- imgtool::image *img = &partition->image();
- struct ti99_lvl2_imgref *image = (struct ti99_lvl2_imgref *) img->extra_bytes();
+ imgtool::image &img(partition->image());
+ struct ti99_lvl2_imgref *image = get_lvl2_imgref(img);
const char *filename;
char ti_fname[10];
ti99_lvl2_fileref src_file;
@@ -4872,8 +4877,8 @@ static imgtoolerr_t ti99_image_writefile(imgtool::partition *partition, const ch
*/
static imgtoolerr_t dsk_image_deletefile(imgtool::partition *partition, const char *fpath)
{
- imgtool::image *img = &partition->image();
- struct ti99_lvl2_imgref *image = (struct ti99_lvl2_imgref *) img->extra_bytes();
+ imgtool::image &img(partition->image());
+ struct ti99_lvl2_imgref *image = get_lvl2_imgref(img);
dsk_fdr fdr;
int i, cluster_index;
unsigned cur_AU, cluster_lastfphysrec;
@@ -5014,8 +5019,8 @@ static imgtoolerr_t dsk_image_deletefile(imgtool::partition *partition, const ch
static imgtoolerr_t win_image_deletefile(imgtool::partition *partition, const char *fpath)
{
- imgtool::image *img = &partition->image();
- struct ti99_lvl2_imgref *image = (struct ti99_lvl2_imgref *) img->extra_bytes();
+ imgtool::image &img(partition->image());
+ struct ti99_lvl2_imgref *image = get_lvl2_imgref(img);
int parent_ddr_AU, is_dir, catalog_index;
win_fdr fdr;
int i;
@@ -5226,7 +5231,7 @@ static imgtoolerr_t win_image_deletefile(imgtool::partition *partition, const ch
Supports MESS and V9T9 formats only
*/
-static imgtoolerr_t dsk_image_create(imgtool::image *image, imgtool::stream::ptr &&stream, util::option_resolution *createoptions, ti99_img_format img_format)
+static imgtoolerr_t dsk_image_create(imgtool::image &image, imgtool::stream::ptr &&stream, util::option_resolution *createoptions, ti99_img_format img_format)
{
const char *volname;
int density;
@@ -5346,7 +5351,7 @@ static imgtoolerr_t dsk_image_create(imgtool::image *image, imgtool::stream::ptr
/*
Create a blank ti99_image (MESS format).
*/
-static imgtoolerr_t dsk_image_create_mess(imgtool::image *image, imgtool::stream::ptr &&stream, util::option_resolution *createoptions)
+static imgtoolerr_t dsk_image_create_mess(imgtool::image &image, imgtool::stream::ptr &&stream, util::option_resolution *createoptions)
{
return dsk_image_create(image, std::move(stream), createoptions, if_mess);
}
@@ -5354,7 +5359,7 @@ static imgtoolerr_t dsk_image_create_mess(imgtool::image *image, imgtool::stream
/*
Create a blank ti99_image (V9T9 format).
*/
-static imgtoolerr_t dsk_image_create_v9t9(imgtool::image *image, imgtool::stream::ptr &&stream, util::option_resolution *createoptions)
+static imgtoolerr_t dsk_image_create_v9t9(imgtool::image &image, imgtool::stream::ptr &&stream, util::option_resolution *createoptions)
{
return dsk_image_create(image, std::move(stream), createoptions, if_v9t9);
}
diff --git a/src/tools/imgtool/modules/ti990hd.cpp b/src/tools/imgtool/modules/ti990hd.cpp
index fc768e268e4..a7b0acc1eac 100644
--- a/src/tools/imgtool/modules/ti990hd.cpp
+++ b/src/tools/imgtool/modules/ti990hd.cpp
@@ -385,10 +385,15 @@ struct ti990_iterator
directory_entry xdr[MAX_DIR_LEVEL]; /* fdr records */
};
+static ti990_image *get_ti990_image(imgtool::image &image)
+{
+ return (ti990_image *)image.extra_bytes();
+}
-static imgtoolerr_t ti990_image_init(imgtool::image *img, imgtool::stream::ptr &&stream);
-static void ti990_image_exit(imgtool::image *img);
-static void ti990_image_info(imgtool::image *img, char *string, size_t len);
+
+static imgtoolerr_t ti990_image_init(imgtool::image &img, imgtool::stream::ptr &&stream);
+static void ti990_image_exit(imgtool::image &img);
+static void ti990_image_info(imgtool::image &img, char *string, size_t len);
static imgtoolerr_t ti990_image_beginenum(imgtool::directory *enumeration, const char *path);
static imgtoolerr_t ti990_image_nextenum(imgtool::directory *enumeration, imgtool_dirent *ent);
static void ti990_image_closeenum(imgtool::directory *enumeration);
@@ -398,7 +403,7 @@ static imgtoolerr_t ti990_image_readfile(imgtool::partition *partition, const ch
static imgtoolerr_t ti990_image_writefile(imgtool::partition *partition, const char *fpath, imgtool::stream *sourcef, util::option_resolution *writeoptions);
static imgtoolerr_t ti990_image_deletefile(imgtool::partition *partition, const char *fpath);
#endif
-static imgtoolerr_t ti990_image_create(imgtool::image *image, imgtool::stream::ptr &&stream, util::option_resolution *createoptions);
+static imgtoolerr_t ti990_image_create(imgtool::image &image, imgtool::stream::ptr &&stream, util::option_resolution *createoptions);
enum
{
@@ -1106,9 +1111,9 @@ static int qsort_catalog_compare(const void *p1, const void *p2)
/*
Open a file as a ti990_image.
*/
-static imgtoolerr_t ti990_image_init(imgtool::image *img, imgtool::stream::ptr &&stream)
+static imgtoolerr_t ti990_image_init(imgtool::image &img, imgtool::stream::ptr &&stream)
{
- ti990_image *image = (ti990_image *) img->extra_bytes();
+ ti990_image *image = get_ti990_image(img);
disk_image_header header;
int reply;
unsigned totsecs;
@@ -1163,9 +1168,9 @@ static imgtoolerr_t ti990_image_init(imgtool::image *img, imgtool::stream::ptr &
/*
close a ti990_image
*/
-static void ti990_image_exit(imgtool::image *img)
+static void ti990_image_exit(imgtool::image &img)
{
- ti990_image *image = (ti990_image *) img->extra_bytes();
+ ti990_image *image = get_ti990_image(img);
delete image->file_handle;
}
@@ -1174,9 +1179,9 @@ static void ti990_image_exit(imgtool::image *img)
Currently returns the volume name
*/
-static void ti990_image_info(imgtool::image *img, char *string, size_t len)
+static void ti990_image_info(imgtool::image &img, char *string, size_t len)
{
- ti990_image *image = (ti990_image *) img->extra_bytes();
+ ti990_image *image = get_ti990_image(img);
char vol_name[9];
fname_to_str(vol_name, image->sec0.vnm, 9);
@@ -1416,8 +1421,8 @@ static void ti990_image_closeenum(imgtool::directory *enumeration)
*/
static imgtoolerr_t ti990_image_freespace(imgtool::partition *partition, UINT64 *size)
{
- imgtool::image *img = &partition->image();
- ti990_image *image = (ti990_image *) img->extra_bytes();
+ imgtool::image &img(partition->image());
+ ti990_image *image = get_ti990_image(img);
int totadus = get_UINT16BE(image->sec0.tna);
int adu, record, sub_adu;
char buf[256];
@@ -1457,7 +1462,7 @@ static imgtoolerr_t ti990_image_freespace(imgtool::partition *partition, UINT64
static imgtoolerr_t ti990_image_readfile(imgtool::partition *partition, const char *fpath, imgtool::stream *destf)
{
imgtool::image *img = &partition->image();
- ti990_image *image = (ti990_image *) img->extra_bytes();
+ ti990_image *image = get_ti990_image(img);
int catalog_index, fdr_secnum, parent_fdr_secnum;
imgtoolerr_t reply;
@@ -1554,7 +1559,7 @@ static imgtoolerr_t ti990_image_readfile(imgtool::partition *partition, const ch
static imgtoolerr_t ti990_image_writefile(imgtool::partition *partition, const char *fpath, imgtool::stream *sourcef, util::option_resolution *writeoptions)
{
imgtool::image *img = &partition->image();
- ti990_image *image = (ti990_image *) img->extra_bytes();
+ ti990_image *image = get_ti990_image(img);
int catalog_index, fdr_secnum, parent_fdr_secnum;
imgtoolerr_t reply;
@@ -1678,7 +1683,7 @@ static imgtoolerr_t ti990_image_writefile(imgtool::partition *partition, const c
static imgtoolerr_t ti990_image_deletefile(imgtool::partition *partition, const char *fpath)
{
imgtool::image *img = &partition->image();
- ti990_image *image = (ti990_image *) img->extra_bytes();
+ ti990_image *image = get_ti990_image(img);
int catalog_index, fdr_secnum, parent_fdr_secnum;
imgtoolerr_t reply;
@@ -1765,7 +1770,7 @@ static imgtoolerr_t ti990_image_deletefile(imgtool::partition *partition, const
/*
Create a blank ti990_image.
*/
-static imgtoolerr_t ti990_image_create(imgtool::image *image, imgtool::stream::ptr &&stream, util::option_resolution *createoptions)
+static imgtoolerr_t ti990_image_create(imgtool::image &image, imgtool::stream::ptr &&stream, util::option_resolution *createoptions)
{
//const char *volname;
ti990_geometry geometry;
diff --git a/src/tools/imgtool/modules/vzdos.cpp b/src/tools/imgtool/modules/vzdos.cpp
index 612c5ebe8fc..b6ded13f5ab 100644
--- a/src/tools/imgtool/modules/vzdos.cpp
+++ b/src/tools/imgtool/modules/vzdos.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Dirk Best
/****************************************************************************
- vzdos.c
+ vzdos.cpp
Laser/VZ disk images
@@ -93,7 +93,7 @@ static UINT16 chksum16(UINT8 *buffer, int len)
}
/* returns the offset where the actual sector data starts */
-static imgtoolerr_t vzdos_get_data_start(imgtool::image *img, int track, int sector, int *start)
+static imgtoolerr_t vzdos_get_data_start(imgtool::image &img, int track, int sector, int *start)
{
imgtoolerr_t ret;
UINT8 buffer[25]; /* enough to read the sector header */
@@ -115,7 +115,7 @@ static imgtoolerr_t vzdos_get_data_start(imgtool::image *img, int track, int sec
}
/* return the actual data of a sector */
-static imgtoolerr_t vzdos_read_sector_data(imgtool::image *img, int track, int sector, UINT8 *data)
+static imgtoolerr_t vzdos_read_sector_data(imgtool::image &img, int track, int sector, UINT8 *data)
{
int ret, data_start;
UINT8 buffer[DATA_SIZE + 4]; /* data + checksum */
@@ -136,7 +136,7 @@ static imgtoolerr_t vzdos_read_sector_data(imgtool::image *img, int track, int s
}
/* write data to sector */
-static imgtoolerr_t vzdos_write_sector_data(imgtool::image *img, int track, int sector, UINT8 *data)
+static imgtoolerr_t vzdos_write_sector_data(imgtool::image &img, int track, int sector, UINT8 *data)
{
int ret, data_start;
UINT8 buffer[DATA_SIZE + 4]; /* data + checksum */
@@ -154,7 +154,7 @@ static imgtoolerr_t vzdos_write_sector_data(imgtool::image *img, int track, int
}
/* write formatted empty sector */
-static imgtoolerr_t vzdos_clear_sector(imgtool::image *img, int track, int sector)
+static imgtoolerr_t vzdos_clear_sector(imgtool::image &img, int track, int sector)
{
UINT8 data[DATA_SIZE + 2];
@@ -164,7 +164,7 @@ static imgtoolerr_t vzdos_clear_sector(imgtool::image *img, int track, int secto
}
/* return a directory entry for an index */
-static imgtoolerr_t vzdos_get_dirent(imgtool::image *img, int index, vzdos_dirent *ent)
+static imgtoolerr_t vzdos_get_dirent(imgtool::image &img, int index, vzdos_dirent *ent)
{
int ret, entry;
UINT8 buffer[DATA_SIZE + 2];
@@ -194,7 +194,7 @@ static imgtoolerr_t vzdos_get_dirent(imgtool::image *img, int index, vzdos_diren
}
/* save a directory entry to disk */
-static imgtoolerr_t vzdos_set_dirent(imgtool::image *img, int index, vzdos_dirent ent)
+static imgtoolerr_t vzdos_set_dirent(imgtool::image &img, int index, vzdos_dirent ent)
{
int ret, entry;
UINT8 buffer[DATA_SIZE + 2];
@@ -219,7 +219,7 @@ static imgtoolerr_t vzdos_set_dirent(imgtool::image *img, int index, vzdos_diren
}
/* clear a directory entry */
-static imgtoolerr_t vzdos_clear_dirent(imgtool::image *img, int index)
+static imgtoolerr_t vzdos_clear_dirent(imgtool::image &img, int index)
{
int ret;
vzdos_dirent entry;
@@ -233,7 +233,7 @@ static imgtoolerr_t vzdos_clear_dirent(imgtool::image *img, int index)
}
/* search the index for a directory entry */
-static imgtoolerr_t vzdos_searchentry(imgtool::image *image, const char *fname, int *entry) {
+static imgtoolerr_t vzdos_searchentry(imgtool::image &image, const char *fname, int *entry) {
int i, len, ret;
vzdos_dirent ent;
char filename[9];
@@ -272,7 +272,7 @@ static imgtoolerr_t vzdos_searchentry(imgtool::image *image, const char *fname,
}
/* return a directory entry for a filename */
-static imgtoolerr_t vzdos_get_dirent_fname(imgtool::image *img, const char *fname, vzdos_dirent *ent)
+static imgtoolerr_t vzdos_get_dirent_fname(imgtool::image &img, const char *fname, vzdos_dirent *ent)
{
int ret, index;
@@ -285,7 +285,7 @@ static imgtoolerr_t vzdos_get_dirent_fname(imgtool::image *img, const char *fnam
return IMGTOOLERR_SUCCESS;
}
-static imgtoolerr_t vzdos_toggle_trackmap(imgtool::image *img, int track, int sector, int clear)
+static imgtoolerr_t vzdos_toggle_trackmap(imgtool::image &img, int track, int sector, int clear)
{
int ret, value, bit;
UINT8 buffer[DATA_SIZE + 2];
@@ -309,19 +309,19 @@ static imgtoolerr_t vzdos_toggle_trackmap(imgtool::image *img, int track, int se
}
/* clear a trackmap entry */
-static imgtoolerr_t vzdos_clear_trackmap(imgtool::image *img, int track, int sector)
+static imgtoolerr_t vzdos_clear_trackmap(imgtool::image &img, int track, int sector)
{
return vzdos_toggle_trackmap(img, track, sector, 1);
}
/* enable a trackmap entry */
-static imgtoolerr_t vzdos_set_trackmap(imgtool::image *img, int track, int sector)
+static imgtoolerr_t vzdos_set_trackmap(imgtool::image &img, int track, int sector)
{
return vzdos_toggle_trackmap(img, track, sector, 0);
}
/* return the status of a trackmap entry */
-static imgtoolerr_t vzdos_get_trackmap(imgtool::image *img, int track, int sector, int *used)
+static imgtoolerr_t vzdos_get_trackmap(imgtool::image &img, int track, int sector, int *used)
{
int ret, value, bit;
UINT8 buffer[DATA_SIZE + 2];
@@ -342,7 +342,7 @@ static imgtoolerr_t vzdos_get_trackmap(imgtool::image *img, int track, int secto
}
/* return the next free sector */
-static imgtoolerr_t vzdos_free_trackmap(imgtool::image *img, int *track, int *sector)
+static imgtoolerr_t vzdos_free_trackmap(imgtool::image &img, int *track, int *sector)
{
int ret, used = 0;
@@ -357,7 +357,7 @@ static imgtoolerr_t vzdos_free_trackmap(imgtool::image *img, int *track, int *se
return IMGTOOLERR_NOSPACE;
}
-static imgtoolerr_t vzdos_write_formatted_sector(imgtool::image *img, int track, int sector)
+static imgtoolerr_t vzdos_write_formatted_sector(imgtool::image &img, int track, int sector)
{
int ret;
UINT8 sector_data[DATA_SIZE + 4 + 24];
@@ -410,7 +410,7 @@ static imgtoolerr_t vzdos_diskimage_nextenum(imgtool::directory *enumeration, im
int ret, len;
vzdos_dirent dirent;
- ret = vzdos_get_dirent(&enumeration->image(), iter->index - 1, &dirent);
+ ret = vzdos_get_dirent(enumeration->image(), iter->index - 1, &dirent);
if (ret == IMGTOOLERR_FILENOTFOUND)
{
@@ -459,7 +459,7 @@ static imgtoolerr_t vzdos_diskimage_freespace(imgtool::partition *partition, UIN
{
imgtoolerr_t ret;
int i;
- imgtool::image *image = &partition->image();
+ imgtool::image &image(partition->image());
UINT8 c, v, buffer[DATA_SIZE + 2];
*size = 0;
@@ -481,7 +481,7 @@ static imgtoolerr_t vzdos_diskimage_freespace(imgtool::partition *partition, UIN
static imgtoolerr_t vzdos_diskimage_readfile(imgtool::partition *partition, const char *filename, const char *fork, imgtool::stream &destf)
{
imgtoolerr_t ret;
- imgtool::image *image = &partition->image();
+ imgtool::image &image(partition->image());
int filesize, track, sector;
vzdos_dirent ent;
UINT8 buffer[DATA_SIZE + 2];
@@ -527,7 +527,7 @@ static imgtoolerr_t vzdos_diskimage_readfile(imgtool::partition *partition, cons
static imgtoolerr_t vzdos_diskimage_deletefile(imgtool::partition *partition, const char *fname)
{
imgtoolerr_t ret;
- imgtool::image *img = &partition->image();
+ imgtool::image &img(partition->image());
int index, filesize, track, sector, next_track, next_sector;
vzdos_dirent entry, next_entry;
UINT8 buffer[DATA_SIZE + 2];
@@ -605,7 +605,7 @@ static imgtoolerr_t vzdos_diskimage_deletefile(imgtool::partition *partition, co
static imgtoolerr_t vzdos_writefile(imgtool::partition *partition, int offset, imgtool::stream &sourcef, vzdos_dirent *entry)
{
imgtoolerr_t ret;
- imgtool::image *img = &partition->image();
+ imgtool::image &img(partition->image());
int index, track, sector, toread, next_track, next_sector;
vzdos_dirent temp_entry;
UINT64 filesize = 0, freespace = 0;
@@ -744,7 +744,7 @@ static imgtoolerr_t vzdos_diskimage_writefile(imgtool::partition *partition, con
static imgtoolerr_t vzdos_diskimage_suggesttransfer(imgtool::partition *partition, const char *fname, imgtool_transfer_suggestion *suggestions, size_t suggestions_length)
{
imgtoolerr_t ret;
- imgtool::image *image = &partition->image();
+ imgtool::image &image(partition->image());
vzdos_dirent entry;
if (fname) {
@@ -789,7 +789,7 @@ static imgtoolerr_t vzdos_diskimage_suggesttransfer(imgtool::partition *partitio
return IMGTOOLERR_SUCCESS;
}
-static imgtoolerr_t vzdos_diskimage_create(imgtool::image *img, imgtool::stream::ptr &&dummy, util::option_resolution *opts)
+static imgtoolerr_t vzdos_diskimage_create(imgtool::image &img, imgtool::stream::ptr &&dummy, util::option_resolution *opts)
{
imgtoolerr_t ret;
int track, sector;
@@ -811,7 +811,7 @@ static imgtoolerr_t vzdos_diskimage_create(imgtool::image *img, imgtool::stream:
static imgtoolerr_t vzsnapshot_readfile(imgtool::partition *partition, const char *filename, const char *fork, imgtool::stream &destf)
{
imgtoolerr_t ret;
- imgtool::image *image = &partition->image();
+ imgtool::image &image(partition->image());
vzdos_dirent entry;
UINT8 header[24];