@@ -1,6 +1,5 @@
package io
-import "core:runtime"
import "core:strconv"
write_u64 :: proc(w: Writer, i: u64, base: int = 10) -> (n: int, err: Error) {
@@ -10,8 +10,8 @@ import "core:slice"
collect_package :: proc(path: string) -> (pkg: ^ast.Package, success: bool) {
NO_POS :: tokenizer.Pos{};
- pkg_path, ok := filepath.abs(path);
- if !ok {
+ pkg_path, pkg_path_ok := filepath.abs(path);
+ if !pkg_path_ok {
return;
}
@@ -272,13 +272,13 @@ _glob :: proc(dir, pattern: string, matches: ^[dynamic]string) -> (m: [dynamic]s
defer os.close(d);
- fi, ferr := os.fstat(d);
+ file_info, ferr := os.fstat(d);
if ferr != 0 {
- os.file_info_delete(fi);
+ os.file_info_delete(file_info);
- if !fi.is_dir {
+ if !file_info.is_dir {
@@ -2,7 +2,6 @@
// To process paths usch as URLs that depend on forward slashes regardless of the OS, use the path package
package filepath
-import "core:os"
import "core:strings"
// is_separator checks whether the byte is a valid separator character
@@ -265,7 +264,7 @@ rel :: proc(base_path, target_path: string, allocator := context.allocator) -> (
buf := make([]byte, size);
n := copy(buf, "..");
- for i in 0..<seps {
+ for in 0..<seps {
buf[n] = SEPARATOR;
copy(buf[n+1:], "..");
n += 3;
@@ -41,7 +41,8 @@ is_abs :: proc(path: string) -> bool {
return false;
- path := path[l:];
+ path := path;
+ path = path[l:];
if path == "" {
@@ -123,8 +124,8 @@ split_list :: proc(path: string, allocator := context.allocator) -> []string {
assert(index == count);
- for s, i in list {
- s, new := strings.replace_all(s, `"`, ``, allocator);
+ for s0, i in list {
+ s, new := strings.replace_all(s0, `"`, ``, allocator);
if !new {
s = strings.clone(s, allocator);