func saveAttrs(dpath string, d zx.Dir) { nd := zx.Dir{"name": d["name"]} for k, v := range d { if zx.IsUpper(k) { nd[k] = v } } if len(nd) == 1 { return } dprintf("wrattr %s/%s %v\n", dpath, d["name"], nd) fn := path.Join(dpath, afname) fd, err := os.OpenFile(fn, os.O_WRONLY|os.O_APPEND, 0600) if err != nil { fd, err = os.OpenFile(fn, os.O_WRONLY|os.O_APPEND|os.O_CREATE, 0600) } if err != nil { return } defer fd.Close() fd.Write(nd.Pack()) }