-
-func inodeFromRec(m map[string]string) (*Inode, error) {
- size := m["Size"]
- inodeNum := m["InodeNum"]
- ctimeSec := m["CtimeSec"]
- ctimeNsec := m["CtimeNsec"]
- mtimeSec := m["MtimeSec"]
- mtimeNsec := m["MtimeNsec"]
- if size == "" {
- return nil, errors.New("Size is missing")
- }
- if ctimeSec == "" {
- return nil, errors.New("CtimeSec is missing")
- }
- if ctimeNsec == "" {
- return nil, errors.New("CtimeNsec is missing")
- }
- inode := Inode{}
- var err error
- inode.Size, err = strconv.ParseInt(size, 10, 64)
- if err != nil {
- return nil, err
- }
- if inodeNum != "" {
- inode.InodeNum, err = strconv.ParseUint(inodeNum, 10, 64)
- if err != nil {
- return nil, err
- }
- }
- inode.CtimeSec, err = strconv.ParseInt(ctimeSec, 10, 64)
- if err != nil {
- return nil, err
- }
- inode.CtimeNsec, err = strconv.ParseInt(ctimeNsec, 10, 64)
- if err != nil {
- return nil, err
- }
- if mtimeSec != "" {
- if mtimeNsec == "" {
- return nil, errors.New("MtimeNsec is missing")
- }
- inode.MtimeSec, err = strconv.ParseInt(mtimeSec, 10, 64)
- if err != nil {
- return nil, err
- }
- inode.MtimeNsec, err = strconv.ParseInt(mtimeNsec, 10, 64)
- if err != nil {
- return nil, err
- }
- }
- return &inode, nil
-}