MCPcopy Create free account
hub / github.com/SeeFlowerX/stackplz / getAndroidConfig

Function getAndroidConfig

user/util/android.go:31–76  ·  view source on GitHub ↗
(filename string)

Source from the content-addressed store, hash-verified

29}
30
31func getAndroidConfig(filename string) (map[string]string, error) {
32 var KernelConfig = make(map[string]string)
33 // Open file bootConf.
34 f, err := os.Open(filename)
35 if err != nil {
36 return KernelConfig, err
37 }
38 defer f.Close()
39
40 // check if the file is gzipped
41 var magic []byte
42 var i int
43 magic = make([]byte, 2)
44 i, err = f.Read(magic)
45 if err != nil {
46 return KernelConfig, err
47 }
48 if i != 2 {
49 return KernelConfig, fmt.Errorf("read %d bytes, expected 2", i)
50 }
51
52 var s *bufio.Scanner
53 _, err = f.Seek(0, 0)
54 if err != nil {
55 return KernelConfig, err
56 }
57
58 var reader *gzip.Reader
59 //magic number for gzip is 0x1f8b
60 if magic[0] == 0x1f && magic[1] == 0x8b {
61 // gzip file
62 reader, err = gzip.NewReader(f)
63 if err != nil {
64 return KernelConfig, err
65 }
66 s = bufio.NewScanner(reader)
67 } else {
68 // not gzip file
69 s = bufio.NewScanner(f)
70 }
71
72 if err = parse(s, KernelConfig); err != nil {
73 return KernelConfig, err
74 }
75 return KernelConfig, nil
76}
77
78// IsContainedInCgroup returns true if the process is running in a container.
79func IsContainer() (bool, error) {

Callers 1

GetSystemConfigFunction · 0.85

Calls 2

parseFunction · 0.85
CloseMethod · 0.65

Tested by

no test coverage detected