Codebase list golang-github-vbatts-go-mtree / d73ca0b5-a3f7-4c2f-8134-b8f36b48412e/main updatefuncs_linux.go
d73ca0b5-a3f7-4c2f-8134-b8f36b48412e/main

Tree @d73ca0b5-a3f7-4c2f-8134-b8f36b48412e/main (Download .tar.gz)

updatefuncs_linux.go @d73ca0b5-a3f7-4c2f-8134-b8f36b48412e/mainraw · history · blame

// +build linux

package mtree

import (
	"encoding/base64"
	"os"

	"github.com/vbatts/go-mtree/xattr"
)

func xattrUpdateKeywordFunc(path string, kv KeyVal) (os.FileInfo, error) {
	buf, err := base64.StdEncoding.DecodeString(kv.Value())
	if err != nil {
		return nil, err
	}
	if err := xattr.Set(path, kv.Keyword().Suffix(), buf); err != nil {
		return nil, err
	}
	return os.Lstat(path)
}