]> ruderich.org/simon Gitweb - nsscash/nsscash.git/blobdiff - file.go
Add support for group files
[nsscash/nsscash.git] / file.go
diff --git a/file.go b/file.go
index b48d0751ae3bad521ea36dd39ec2327a6ec5168c..33d71c14c152c144dc4e0e3cf04e758c0cee4858 100644 (file)
--- a/file.go
+++ b/file.go
@@ -92,6 +92,22 @@ func fetchFile(file *File, state *State) error {
                }
                file.body = x.Bytes()
 
+       } else if file.Type == FileTypeGroup {
+               grs, err := ParseGroups(bytes.NewReader(body))
+               if err != nil {
+                       return err
+               }
+               if len(grs) == 0 {
+                       return fmt.Errorf("refusing to use empty group file")
+               }
+
+               var x bytes.Buffer
+               err = SerializeGroups(&x, grs)
+               if err != nil {
+                       return err
+               }
+               file.body = x.Bytes()
+
        } else {
                return fmt.Errorf("unsupported file type %v", file.Type)
        }