Signed-off-by: Matheus Sampaio Queiroga <srherobrine20@gmail.com>
37 lines
573 B
Go
37 lines
573 B
Go
package dpkg
|
|
|
|
import (
|
|
"io/fs"
|
|
"os"
|
|
)
|
|
|
|
// Open dpkg file with [io/fs.FS]
|
|
func OpenFS(sys fs.FS, name string) (*Dpkg, error) {
|
|
file, err := sys.Open(name)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer file.Close()
|
|
pkg, data, err := ParseDpkg(file)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
data.Close()
|
|
return pkg, nil
|
|
}
|
|
|
|
// Open local file
|
|
func Open(name string) (*Dpkg, error) {
|
|
file, err := os.Open(name)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer file.Close()
|
|
pkg, data, err := ParseDpkg(file)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
data.Close()
|
|
return pkg, nil
|
|
}
|