Fix paths being created with trailing "/" always
continuous-integration/drone/push Build is passing Details

This commit is contained in:
kayomn 2022-10-04 23:15:59 +01:00
parent fbd79b5b41
commit d2f4c0afe1
1 changed files with 27 additions and 14 deletions

View File

@ -550,7 +550,10 @@ pub const FileSystem = enum {
.length = 0, .length = 0,
}; };
for (sequences) |sequence| if (sequence.len != 0) { if (sequences.len != 0) {
const last_sequence_index = sequences.len - 1;
for (sequences) |sequence, index| if (sequence.len != 0) {
var components = mem.Spliterator(u8){ var components = mem.Spliterator(u8){
.source = sequence, .source = sequence,
.delimiter = "/", .delimiter = "/",
@ -564,12 +567,22 @@ pub const FileSystem = enum {
path.length += 1; path.length += 1;
} }
if (components.hasNext()) {
if (path.length == Path.max) return error.TooLong; if (path.length == Path.max) return error.TooLong;
path.buffer[path.length] = '/'; path.buffer[path.length] = '/';
path.length += 1; path.length += 1;
}
}; };
if (index < last_sequence_index) {
if (path.length == Path.max) return error.TooLong;
path.buffer[path.length] = '/';
path.length += 1;
}
}; };
}
return path; return path;
} }