mirror of
https://git.suyu.dev/suyu/suyu.git
synced 2024-11-23 07:12:46 +01:00
time_zone_binary: Make use of designated initializers
This commit is contained in:
parent
9b75481755
commit
04ca1ed2bd
1 changed files with 25 additions and 17 deletions
|
@ -2,6 +2,9 @@
|
||||||
// Licensed under GPLv2 or any later version
|
// Licensed under GPLv2 or any later version
|
||||||
// Refer to the license.txt file included.
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
#include <array>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
#include "common/swap.h"
|
#include "common/swap.h"
|
||||||
#include "core/file_sys/system_archive/time_zone_binary.h"
|
#include "core/file_sys/system_archive/time_zone_binary.h"
|
||||||
#include "core/file_sys/vfs_vector.h"
|
#include "core/file_sys/vfs_vector.h"
|
||||||
|
@ -615,31 +618,36 @@ static constexpr std::array<u8, 9633> LOCATION_NAMES{
|
||||||
0x0a};
|
0x0a};
|
||||||
|
|
||||||
static VirtualFile GenerateDefaultTimeZoneFile() {
|
static VirtualFile GenerateDefaultTimeZoneFile() {
|
||||||
struct {
|
struct TimeZoneInfo {
|
||||||
s64_be at;
|
s64_be at;
|
||||||
INSERT_PADDING_BYTES(7);
|
std::array<u8, 7> padding1;
|
||||||
std::array<char, 4> time_zone_chars;
|
std::array<char, 4> time_zone_chars;
|
||||||
INSERT_PADDING_BYTES(2);
|
std::array<u8, 2> padding2;
|
||||||
std::array<char, 6> time_zone_name;
|
std::array<char, 6> time_zone_name;
|
||||||
} time_zone_info{};
|
};
|
||||||
|
|
||||||
const VirtualFile file{std::make_shared<VectorVfsFile>(
|
VirtualFile file{std::make_shared<VectorVfsFile>(
|
||||||
std::vector<u8>(sizeof(Service::Time::TimeZone::TzifHeader) + sizeof(time_zone_info)),
|
std::vector<u8>(sizeof(Service::Time::TimeZone::TzifHeader) + sizeof(TimeZoneInfo)),
|
||||||
"GMT")};
|
"GMT")};
|
||||||
|
|
||||||
Service::Time::TimeZone::TzifHeader header{};
|
const Service::Time::TimeZone::TzifHeader header{
|
||||||
header.magic = 0x545a6966;
|
.magic = 0x545a6966,
|
||||||
header.version = 0x32;
|
.version = 0x32,
|
||||||
header.ttis_gmt_count = 0x1;
|
.ttis_gmt_count = 1,
|
||||||
header.ttis_std_count = 0x1;
|
.ttis_std_count = 1,
|
||||||
header.time_count = 0x1;
|
.time_count = 1,
|
||||||
header.type_count = 0x1;
|
.type_count = 1,
|
||||||
header.char_count = 0x4;
|
.char_count = 4,
|
||||||
|
};
|
||||||
file->WriteObject(header, 0);
|
file->WriteObject(header, 0);
|
||||||
|
|
||||||
time_zone_info.at = 0xf8;
|
const TimeZoneInfo time_zone_info{
|
||||||
time_zone_info.time_zone_chars = {'G', 'M', 'T', '\0'};
|
.at = 0xf8,
|
||||||
time_zone_info.time_zone_name = {'\n', 'G', 'M', 'T', '0', '\n'};
|
.padding1 = {},
|
||||||
|
.time_zone_chars = {'G', 'M', 'T', '\0'},
|
||||||
|
.padding2 = {},
|
||||||
|
.time_zone_name = {'\n', 'G', 'M', 'T', '0', '\n'},
|
||||||
|
};
|
||||||
file->WriteObject(time_zone_info, sizeof(Service::Time::TimeZone::TzifHeader));
|
file->WriteObject(time_zone_info, sizeof(Service::Time::TimeZone::TzifHeader));
|
||||||
|
|
||||||
return file;
|
return file;
|
||||||
|
|
Loading…
Reference in a new issue