summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/util/cdrom.cpp
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2023-09-17 16:17:07 -0400
committer AJR <ajrhacker@users.noreply.github.com>2023-09-17 16:17:07 -0400
commit7aca06fb13d4e017ee3c16b4f70742cf4311cc86 (patch)
tree22ec141676891f19973c1d2510f0184bf89b5e4a /src/lib/util/cdrom.cpp
parent245282f4b27861861beeb31ed38dfe47ba9264c3 (diff)
avhuff.cpp, cdrom.cpp, msdib.cpp, unzip.cpp, vbiparse.cpp: Use multibyte.h functions
Diffstat (limited to 'src/lib/util/cdrom.cpp')
-rw-r--r--src/lib/util/cdrom.cpp28
1 files changed, 7 insertions, 21 deletions
diff --git a/src/lib/util/cdrom.cpp b/src/lib/util/cdrom.cpp
index 750ed0f8eba..636e6385a09 100644
--- a/src/lib/util/cdrom.cpp
+++ b/src/lib/util/cdrom.cpp
@@ -19,6 +19,7 @@
#include "cdrom.h"
#include "corestr.h"
+#include "multibyte.h"
#include "osdfile.h"
#include "strformat.h"
@@ -502,9 +503,7 @@ bool cdrom_file::read_data(uint32_t lbasector, void *buffer, uint32_t datatype,
static const uint8_t syncbytes[12] = {0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00};
memcpy(bufptr, syncbytes, 12);
- bufptr[12] = msf>>16;
- bufptr[13] = msf>>8;
- bufptr[14] = msf&0xff;
+ put_u24be(&bufptr[12], msf);
bufptr[15] = 1; // mode 1
LOG(("CDROM: promotion of mode1/form1 sector to mode1 raw is not complete!\n"));
return !read_partial_sector(bufptr+16, lbasector, chdsector, tracknum, 0, 2048, phys);
@@ -1778,14 +1777,11 @@ uint32_t cdrom_file::parse_wav_sample(std::string_view filename, uint32_t *datao
uint16_t cdrom_file::read_uint16(FILE *infile)
{
- uint16_t res = 0;
unsigned char buffer[2];
fread(buffer, 2, 1, infile);
- res = buffer[1] | buffer[0]<<8;
-
- return res;
+ return get_u16be(buffer);
}
/**
@@ -1800,14 +1796,11 @@ uint16_t cdrom_file::read_uint16(FILE *infile)
uint32_t cdrom_file::read_uint32(FILE *infile)
{
- uint32_t res = 0;
unsigned char buffer[4];
fread(buffer, 4, 1, infile);
- res = buffer[3] | buffer[2]<<8 | buffer[1]<<16 | buffer[0]<<24;
-
- return res;
+ return get_u32be(buffer);
}
/**
@@ -1822,18 +1815,11 @@ uint32_t cdrom_file::read_uint32(FILE *infile)
uint64_t cdrom_file::read_uint64(FILE *infile)
{
- uint64_t res0(0), res1(0);
- uint64_t res;
unsigned char buffer[8];
fread(buffer, 8, 1, infile);
- res0 = buffer[3] | buffer[2]<<8 | buffer[1]<<16 | buffer[0]<<24;
- res1 = buffer[7] | buffer[6]<<8 | buffer[5]<<16 | buffer[4]<<24;
-
- res = res0<<32 | res1;
-
- return res;
+ return get_u64be(buffer);
}
/*-------------------------------------------------
@@ -1883,7 +1869,7 @@ std::error_condition cdrom_file::parse_nero(std::string_view tocfname, toc &outt
return chd_file::error::UNSUPPORTED_FORMAT;
}
- chain_offs = buffer[11] | (buffer[10]<<8) | (buffer[9]<<16) | (buffer[8]<<24);
+ chain_offs = get_u32be(&buffer[8]);
if ((buffer[7] != 0) || (buffer[6] != 0) || (buffer[5] != 0) || (buffer[4] != 0))
{
@@ -1899,7 +1885,7 @@ std::error_condition cdrom_file::parse_nero(std::string_view tocfname, toc &outt
fseek(infile, chain_offs, SEEK_SET);
fread(buffer, 8, 1, infile);
- chunk_size = (buffer[7] | buffer[6]<<8 | buffer[5]<<16 | buffer[4]<<24);
+ chunk_size = get_u32be(&buffer[4]);
// printf("Chunk type: %c%c%c%c, size %x\n", buffer[0], buffer[1], buffer[2], buffer[3], chunk_size);