Add file opening to read()
This commit is contained in:
+12
-5
@@ -16,12 +16,19 @@ Asset :: struct #all_or_none {
|
|||||||
data: []u8,
|
data: []u8,
|
||||||
}
|
}
|
||||||
|
|
||||||
read :: proc(f: ^os.File) -> Asset {
|
read :: proc(path: string) -> Asset {
|
||||||
|
f, open_err := os.open(path, {.Read})
|
||||||
|
if open_err != nil {
|
||||||
|
fmt.eprintln("error: open file failed:", open_err)
|
||||||
|
os.exit(1)
|
||||||
|
}
|
||||||
|
defer os.close(f)
|
||||||
|
|
||||||
path := strings.clone(os.name(f))
|
path := strings.clone(os.name(f))
|
||||||
|
|
||||||
size, err := os.file_size(f)
|
size, size_err := os.file_size(f)
|
||||||
if err != nil {
|
if size_err != nil {
|
||||||
fmt.eprintln("error: failed to get file size:", err)
|
fmt.eprintln("error: get file size failed:", size_err)
|
||||||
os.exit(1)
|
os.exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -30,7 +37,7 @@ read :: proc(f: ^os.File) -> Asset {
|
|||||||
n, read_err := os.read_full(f, data)
|
n, read_err := os.read_full(f, data)
|
||||||
if read_err != nil {
|
if read_err != nil {
|
||||||
delete(data)
|
delete(data)
|
||||||
fmt.eprintln("read failed:", read_err, "got", n, "of", size, "bytes")
|
fmt.eprintln("error: file read failed:", read_err, "got", n, "of", size, "bytes")
|
||||||
os.exit(1)
|
os.exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -14,7 +14,7 @@ main :: proc() {
|
|||||||
fmt.println("compression:", opts.compression)
|
fmt.println("compression:", opts.compression)
|
||||||
fmt.println("size:", opts.size)
|
fmt.println("size:", opts.size)
|
||||||
|
|
||||||
asset := file.read(opts.input)
|
asset := file.read("./odinfmt.json")
|
||||||
fmt.println("path:", asset.path)
|
fmt.println("path:", asset.path)
|
||||||
fmt.println("size:", asset.size)
|
fmt.println("size:", asset.size)
|
||||||
fmt.println("data:", asset.data)
|
fmt.println("data:", asset.data)
|
||||||
|
|||||||
Reference in New Issue
Block a user