mirror of https://github.com/fairyglade/ly
Compare commits
2 Commits
002630995d
...
365933e39e
Author | SHA1 | Date |
---|---|---|
AnErrupTion | 365933e39e | 6 months ago |
AnErrupTion | eefa06e40f | 6 months ago |
@ -1,4 +1,2 @@
|
|||||||
const Save = @This();
|
|
||||||
|
|
||||||
user: ?[]const u8 = null,
|
user: ?[]const u8 = null,
|
||||||
session_index: ?u64 = null,
|
session_index: ?u64 = null,
|
||||||
|
@ -0,0 +1,30 @@
|
|||||||
|
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