equal
deleted
inserted
replaced
79 } |
79 } |
80 |
80 |
81 // flags are unused on FreeBSD |
81 // flags are unused on FreeBSD |
82 |
82 |
83 func Fsetxattr(fd int, attr string, data []byte, flags int) (err error) { |
83 func Fsetxattr(fd int, attr string, data []byte, flags int) (err error) { |
84 d := unsafe.Pointer(&data[0]) |
84 var d unsafe.Pointer |
|
85 if len(data) > 0 { |
|
86 d = unsafe.Pointer(&data[0]) |
|
87 } |
85 datasiz := len(data) |
88 datasiz := len(data) |
86 |
89 |
87 nsid, a, err := xattrnamespace(attr) |
90 nsid, a, err := xattrnamespace(attr) |
88 if err != nil { |
91 if err != nil { |
89 return |
92 return |
92 _, err = ExtattrSetFd(fd, nsid, a, uintptr(d), datasiz) |
95 _, err = ExtattrSetFd(fd, nsid, a, uintptr(d), datasiz) |
93 return |
96 return |
94 } |
97 } |
95 |
98 |
96 func Setxattr(file string, attr string, data []byte, flags int) (err error) { |
99 func Setxattr(file string, attr string, data []byte, flags int) (err error) { |
97 d := unsafe.Pointer(&data[0]) |
100 var d unsafe.Pointer |
|
101 if len(data) > 0 { |
|
102 d = unsafe.Pointer(&data[0]) |
|
103 } |
98 datasiz := len(data) |
104 datasiz := len(data) |
99 |
105 |
100 nsid, a, err := xattrnamespace(attr) |
106 nsid, a, err := xattrnamespace(attr) |
101 if err != nil { |
107 if err != nil { |
102 return |
108 return |
105 _, err = ExtattrSetFile(file, nsid, a, uintptr(d), datasiz) |
111 _, err = ExtattrSetFile(file, nsid, a, uintptr(d), datasiz) |
106 return |
112 return |
107 } |
113 } |
108 |
114 |
109 func Lsetxattr(link string, attr string, data []byte, flags int) (err error) { |
115 func Lsetxattr(link string, attr string, data []byte, flags int) (err error) { |
110 d := unsafe.Pointer(&data[0]) |
116 var d unsafe.Pointer |
|
117 if len(data) > 0 { |
|
118 d = unsafe.Pointer(&data[0]) |
|
119 } |
111 datasiz := len(data) |
120 datasiz := len(data) |
112 |
121 |
113 nsid, a, err := xattrnamespace(attr) |
122 nsid, a, err := xattrnamespace(attr) |
114 if err != nil { |
123 if err != nil { |
115 return |
124 return |