aboutsummaryrefslogtreecommitdiff
path: root/zsig/header.go
diff options
context:
space:
mode:
Diffstat (limited to 'zsig/header.go')
-rw-r--r--zsig/header.go26
1 files changed, 16 insertions, 10 deletions
diff --git a/zsig/header.go b/zsig/header.go
index a565b52..bc16cb1 100644
--- a/zsig/header.go
+++ b/zsig/header.go
@@ -26,15 +26,16 @@ type ZHeader struct {
Sums [][]byte
}
-func (h ZHeader) Print(w io.Writer) error {
- fmt.Fprintf(w, "date=%v\n", h.Date.Format(time.RFC3339))
- fmt.Fprintf(w, "key=%v\n", h.KeyFile)
- fmt.Fprintf(w, "algorithm=%v\n", h.Alg)
- fmt.Fprintf(w, "blocksize=%v\n\n", h.BlockSize)
+func (h ZHeader) MarshalText() ([]byte, error) {
+ buf := new(bytes.Buffer)
+ fmt.Fprintf(buf, "date=%v\n", h.Date.Format(time.RFC3339))
+ fmt.Fprintf(buf, "key=%v\n", h.KeyFile)
+ fmt.Fprintf(buf, "algorithm=%v\n", h.Alg)
+ fmt.Fprintf(buf, "blocksize=%v\n\n", h.BlockSize)
for _, sum := range h.Sums {
- fmt.Fprintf(w, "%x\n", sum)
+ fmt.Fprintf(buf, "%x\n", sum)
}
- return nil
+ return buf.Bytes(), nil
}
func ParseBytes(data []byte) (ZHeader, error) {
@@ -42,6 +43,11 @@ func ParseBytes(data []byte) (ZHeader, error) {
return Parse(r)
}
+// TODO
+func (z *ZHeader) UnmarshalText(data []byte) error {
+ return nil
+}
+
func Parse(r io.Reader) (ZHeader, error) {
var h ZHeader
s := bufio.NewScanner(r)
@@ -104,8 +110,8 @@ func (z ZHeader) Verify(r io.Reader) error {
return nil
}
-func NewHeader(r io.Reader) (ZHeader, error) {
- hdr := ZHeader{
+func NewHeader(r io.Reader) (*ZHeader, error) {
+ hdr := &ZHeader{
Date: time.Now(),
Alg: Alg,
BlockSize: BlockSize,
@@ -118,7 +124,7 @@ func NewHeader(r io.Reader) (ZHeader, error) {
break
}
if err != nil && err != io.EOF {
- return ZHeader{}, err
+ return nil, err
}
hdr.Sums = append(hdr.Sums, h.Sum(nil))
}