mirror of https://github.com/fairyglade/ly
Compare commits
No commits in common. '365933e39ec4cf7c46861d75356dfc24fa6f5230' and '002630995dcc308e759dcd45530e09b75551eafb' have entirely different histories.
365933e39e
...
002630995d
@ -1,2 +1,4 @@
|
||||
const Save = @This();
|
||||
|
||||
user: ?[]const u8 = null,
|
||||
session_index: ?u64 = null,
|
||||
|
@ -1,30 +0,0 @@
|
||||
const std = @import("std");
|
||||
const ini = @import("zigini");
|
||||
const Save = @import("Save.zig");
|
||||
|
||||
const Allocator = std.mem.Allocator;
|
||||
|
||||
pub fn tryMigrateSaveFile(allocator: Allocator, path: []const u8) Save {
|
||||
var file = std.fs.openFileAbsolute(path, .{ .mode = .read_write }) catch return .{};
|
||||
defer file.close();
|
||||
|
||||
const reader = file.reader();
|
||||
const user_length = reader.readIntLittle(u64) catch return .{};
|
||||
|
||||
const user_buffer = allocator.alloc(u8, user_length) catch return .{};
|
||||
defer allocator.free(user_buffer);
|
||||
|
||||
const read_user_length = reader.read(user_buffer) catch return .{};
|
||||
if (read_user_length != user_length) return .{};
|
||||
|
||||
const session_index = reader.readIntLittle(u64) catch return .{};
|
||||
|
||||
const save = .{
|
||||
.user = user_buffer,
|
||||
.session_index = session_index,
|
||||
};
|
||||
|
||||
ini.writeFromStruct(save, file.writer(), null) catch return save;
|
||||
|
||||
return save;
|
||||
}
|
Loading…
Reference in New Issue