From dd6de448709ef8d5d38a284b2a9ab2d83a8a7bd0 Mon Sep 17 00:00:00 2001 From: shermp <14854761+shermp@users.noreply.github.com> Date: Mon, 10 Jun 2019 09:01:44 +1200 Subject: [PATCH] Make 'file_is_vhd' function public --- src/minivhd.h | 1 + src/minivhd_manage.c | 22 +++++++++++----------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/src/minivhd.h b/src/minivhd.h index 3178a93..49f3b91 100644 --- a/src/minivhd.h +++ b/src/minivhd.h @@ -40,6 +40,7 @@ struct MVHDMeta { int (*format_sectors)(MVHDMeta* vhdm, int offset, int num_sectors); }; +bool mvhd_file_is_vhd(FILE* f); MVHDMeta* mvhd_open(const char* path, int* err); MVHDMeta* mvhd_create_fixed(const char* path, MVHDGeom geom, int* err); MVHDMeta* mvhd_create_sparse(const char* path, MVHDGeom geom, int* err); diff --git a/src/minivhd_manage.c b/src/minivhd_manage.c index c43079f..b926364 100644 --- a/src/minivhd_manage.c +++ b/src/minivhd_manage.c @@ -20,17 +20,6 @@ static bool mvhd_sparse_checksum_valid(MVHDMeta* vhdm); static MVHDBlock* mvhd_read_bat(MVHDMeta *vhdm, MVHDError* err); static void mvhd_calc_sparse_values(MVHDMeta* vhdm); -static bool mvhd_file_is_vhd(FILE* f) { - if (f) { - uint8_t con_str[8]; - fseeko64(f, -MVHD_FOOTER_SIZE, SEEK_END); - fread(con_str, sizeof con_str, 1, f); - return mvhd_is_conectix_str(con_str); - } else { - return false; - } -} - static void mvhd_read_footer(MVHDMeta* vhdm) { uint8_t buffer[MVHD_FOOTER_SIZE]; fseeko64(vhdm->f, -MVHD_FOOTER_SIZE, SEEK_END); @@ -114,6 +103,17 @@ static void mvhd_assign_io_funcs(MVHDMeta* vhdm) { } } +bool mvhd_file_is_vhd(FILE* f) { + if (f) { + uint8_t con_str[8]; + fseeko64(f, -MVHD_FOOTER_SIZE, SEEK_END); + fread(con_str, sizeof con_str, 1, f); + return mvhd_is_conectix_str(con_str); + } else { + return false; + } +} + MVHDGeom mvhd_calculate_geometry(int size_mb, int* new_size) { MVHDGeom chs; uint32_t ts = ((uint64_t)size_mb * 1024 * 1024) / MVHD_SECTOR_SIZE;