Skip to content

Commit 2c500aa

Browse files
committed
Fix regz for targetdb
1 parent ec94b74 commit 2c500aa

2 files changed

Lines changed: 20 additions & 20 deletions

File tree

tools/regz/src/Database.zig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -630,7 +630,7 @@ pub fn create_from_path(io: std.Io, allocator: Allocator, format: Format, path:
630630
db.destroy();
631631
}
632632

633-
try targetdb.load_into_db(db, path, device);
633+
try targetdb.load_into_db(io, db, path, device);
634634
break :blk db;
635635
},
636636
.svd, .atdf => blk: {

tools/regz/src/targetdb.zig

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ const RegisterID = Database.RegisterID;
88
const StructID = Database.StructID;
99
const EnumID = Database.EnumID;
1010

11-
pub fn load_into_db(db: *Database, path: []const u8, device: ?[]const u8) !void {
12-
var targetdb_dir = try std.fs.cwd().openDir(path, .{});
13-
defer targetdb_dir.close();
11+
pub fn load_into_db(io: std.Io, db: *Database, path: []const u8, device: ?[]const u8) !void {
12+
var targetdb_dir = try std.Io.Dir.cwd().openDir(io, path, .{});
13+
defer targetdb_dir.close(io);
1414

15-
var devices_dir = try targetdb_dir.openDir("devices", .{ .iterate = true });
16-
defer devices_dir.close();
15+
var devices_dir = try targetdb_dir.openDir(io, "devices", .{ .iterate = true });
16+
defer devices_dir.close(io);
1717

1818
var it = devices_dir.iterate();
19-
while (try it.next()) |entry| {
19+
while (try it.next(io)) |entry| {
2020
if (entry.kind != .file)
2121
continue;
2222

@@ -26,22 +26,19 @@ pub fn load_into_db(db: *Database, path: []const u8, device: ?[]const u8) !void
2626

2727
if (device) |d| {
2828
if (std.mem.eql(u8, d, entry.name[0 .. entry.name.len - ".xml".len])) {
29-
try load_device(db, devices_dir, entry.name);
29+
try load_device(io, db, devices_dir, entry.name);
3030
return;
3131
}
3232
} else {
33-
try load_device(db, devices_dir, entry.name);
33+
try load_device(io, db, devices_dir, entry.name);
3434
}
3535
} else if (device != null) {
3636
return error.DeviceMissing;
3737
}
3838
}
3939

40-
fn load_device(db: *Database, devices_dir: std.fs.Dir, filename: []const u8) !void {
41-
const device_file = try devices_dir.openFile(filename, .{});
42-
defer device_file.close();
43-
44-
const device_text = try device_file.readToEndAlloc(db.gpa, 1024 * 1024);
40+
fn load_device(io: std.Io, db: *Database, devices_dir: std.Io.Dir, filename: []const u8) !void {
41+
const device_text = try devices_dir.readFileAlloc(io, filename, db.gpa, .unlimited);
4542
defer db.gpa.free(device_text);
4643

4744
var doc = try xml.Doc.from_memory(device_text);
@@ -66,21 +63,24 @@ fn load_device(db: *Database, devices_dir: std.fs.Dir, filename: []const u8) !vo
6663
var instance_it = cpu_node.iterate(&.{}, &.{"instance"});
6764

6865
while (instance_it.next()) |instance_node| {
69-
try load_instance(db, device_id, devices_dir, instance_node);
66+
try load_instance(io, db, device_id, devices_dir, instance_node);
7067
}
7168
}
7269

73-
fn load_instance(db: *Database, device_id: DeviceID, devices_dir: std.fs.Dir, node: xml.Node) !void {
70+
fn load_instance(
71+
io: std.Io,
72+
db: *Database,
73+
device_id: DeviceID,
74+
devices_dir: std.Io.Dir,
75+
node: xml.Node,
76+
) !void {
7477
const name = node.get_attribute("id") orelse return error.MissingField;
7578
const href = node.get_attribute("href") orelse return error.MissingField;
7679

7780
const baseaddr_str = node.get_attribute("baseaddr") orelse return error.MissingField;
7881
const baseaddr = try std.fmt.parseInt(u64, baseaddr_str, 0);
7982

80-
const module_file = try devices_dir.openFile(href, .{});
81-
defer module_file.close();
82-
83-
const module_text = try module_file.readToEndAlloc(db.gpa, 1024 * 1024);
83+
const module_text = try devices_dir.readFileAlloc(io, href, db.gpa, .unlimited);
8484
defer db.gpa.free(module_text);
8585

8686
var doc = try xml.Doc.from_memory(module_text);

0 commit comments

Comments
 (0)