aboutsummaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2017-06-06 23:01:28 +0200
committerDimitri Sokolyuk <demon@dim13.org>2017-06-06 23:01:28 +0200
commit961bac0ffe07470eff3745085aa1cb9e37789d4d (patch)
treeab3494340e91135aff4d4e0816e4a6951e60a49b /cmd
parentb23c0d91deff1a93d116314ad8143f073aa9a327 (diff)
Move ReadBin into cmd
Diffstat (limited to 'cmd')
-rw-r--r--cmd/dump/main.go23
1 files changed, 22 insertions, 1 deletions
diff --git a/cmd/dump/main.go b/cmd/dump/main.go
index afc5aca..f579c37 100644
--- a/cmd/dump/main.go
+++ b/cmd/dump/main.go
@@ -1,13 +1,15 @@
package main
import (
+ "encoding/binary"
"fmt"
+ "os"
"dim13.org/j1"
)
func main() {
- body, err := j1.ReadBin("testdata/j1.bin")
+ body, err := ReadBin("testdata/j1.bin")
if err != nil {
panic(err)
}
@@ -15,3 +17,22 @@ func main() {
fmt.Printf("%0.4X %0.4X\t%s\n", 2*i, v, j1.Decode(v))
}
}
+
+// ReadBin file
+func ReadBin(fname string) ([]uint16, error) {
+ fd, err := os.Open(fname)
+ if err != nil {
+ return nil, err
+ }
+ defer fd.Close()
+ stat, err := fd.Stat()
+ if err != nil {
+ return nil, err
+ }
+ size := stat.Size()
+ body := make([]uint16, int(size)/2)
+ if err := binary.Read(fd, binary.BigEndian, &body); err != nil {
+ return nil, err
+ }
+ return body, nil
+}