From f1c8e04186af106a5a41f441f5e4ff1f8ddf197c Mon Sep 17 00:00:00 2001 From: redraskal Date: Wed, 21 Feb 2024 19:14:23 -0600 Subject: [PATCH] fix: ffi match reader --- exports/exports.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/exports/exports.go b/exports/exports.go index 12fd4e9..b791d22 100644 --- a/exports/exports.go +++ b/exports/exports.go @@ -39,13 +39,19 @@ func convertErrorForExport(err error) string { func dissect_read(input *C.char) *C.char { zerolog.SetGlobalLevel(zerolog.Disabled) path := C.GoString(input) - s, err := os.Stat(path) + f, err := os.Open(path) + if err != nil { + res := convertErrorForExport(err) + return C.CString(res) + } + defer f.Close() + s, err := f.Stat() if err != nil { res := convertErrorForExport(err) return C.CString(res) } if s.IsDir() { - m, err := dissect.NewMatchReader(path) + m, err := dissect.NewMatchReader(f) if err != nil { res := convertErrorForExport(err) return C.CString(res) @@ -62,12 +68,6 @@ func dissect_read(input *C.char) *C.char { res := convertForExport(j) return C.CString(res) } else { - f, err := os.Open(path) - if err != nil { - res := convertErrorForExport(err) - return C.CString(res) - } - defer f.Close() r, err := dissect.NewReader(f) if err != nil { res := convertErrorForExport(err)