Fix import of "special" dirs and excluded items

This commit is contained in:
Yorhel 2021-10-06 14:32:02 +02:00
parent fdb93bb9e6
commit 929cc75675

View file

@ -799,6 +799,7 @@ const Import = struct {
if (eq(u8, typ, "otherfs")) special.* = .other_fs if (eq(u8, typ, "otherfs")) special.* = .other_fs
else if (eq(u8, typ, "kernfs")) special.* = .kernfs else if (eq(u8, typ, "kernfs")) special.* = .kernfs
else special.* = .excluded; else special.* = .excluded;
return;
} }
}, },
'g' => { 'g' => {
@ -899,7 +900,9 @@ const Import = struct {
fn item(self: *Self, dev: u64) void { fn item(self: *Self, dev: u64) void {
self.ctx.stat = .{}; self.ctx.stat = .{};
var isdir = false;
if (self.ch == '[') { if (self.ch == '[') {
isdir = true;
self.ctx.stat.dir = true; self.ctx.stat.dir = true;
self.con(); self.con();
self.conws(); self.conws();
@ -908,7 +911,7 @@ const Import = struct {
self.iteminfo(dev); self.iteminfo(dev);
self.conws(); self.conws();
if (self.ctx.stat.dir) { if (isdir) {
const ndev = self.ctx.stat.dev; const ndev = self.ctx.stat.dev;
while (self.ch == ',') { while (self.ch == ',') {
self.con(); self.con();