mirror of
https://github.com/containers/skopeo.git
synced 2025-09-07 01:30:16 +00:00
fix(deps): update module github.com/containers/image/v5 to v5.34.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Signed-off-by: Miloslav Trmač <mitr@redhat.com>
This commit is contained in:
committed by
Miloslav Trmač
parent
0eb4ad2f54
commit
b78a415987
123
vendor/github.com/proglottis/gpgme/data.go
generated
vendored
123
vendor/github.com/proglottis/gpgme/data.go
generated
vendored
@@ -10,6 +10,7 @@ import (
|
||||
"io"
|
||||
"os"
|
||||
"runtime"
|
||||
"runtime/cgo"
|
||||
"unsafe"
|
||||
)
|
||||
|
||||
@@ -19,30 +20,32 @@ const (
|
||||
SeekEnd = C.SEEK_END
|
||||
)
|
||||
|
||||
var dataCallbacks = C.struct_gpgme_data_cbs{
|
||||
read: C.gpgme_data_read_cb_t(C.gogpgme_readfunc),
|
||||
write: C.gpgme_data_write_cb_t(C.gogpgme_writefunc),
|
||||
seek: C.gpgme_data_seek_cb_t(C.gogpgme_seekfunc),
|
||||
}
|
||||
|
||||
//export gogpgme_readfunc
|
||||
func gogpgme_readfunc(handle, buffer unsafe.Pointer, size C.size_t) C.ssize_t {
|
||||
d := callbackLookup(uintptr(handle)).(*Data)
|
||||
if len(d.buf) < int(size) {
|
||||
d.buf = make([]byte, size)
|
||||
}
|
||||
n, err := d.r.Read(d.buf[:size])
|
||||
h := *(*cgo.Handle)(handle)
|
||||
d := h.Value().(*Data)
|
||||
n, err := d.r.Read(unsafe.Slice((*byte)(buffer), size))
|
||||
if err != nil && err != io.EOF {
|
||||
d.err = err
|
||||
C.gpgme_err_set_errno(C.EIO)
|
||||
return -1
|
||||
}
|
||||
C.memcpy(buffer, unsafe.Pointer(&d.buf[0]), C.size_t(n))
|
||||
return C.ssize_t(n)
|
||||
}
|
||||
|
||||
//export gogpgme_writefunc
|
||||
func gogpgme_writefunc(handle, buffer unsafe.Pointer, size C.size_t) C.ssize_t {
|
||||
d := callbackLookup(uintptr(handle)).(*Data)
|
||||
if len(d.buf) < int(size) {
|
||||
d.buf = make([]byte, size)
|
||||
}
|
||||
C.memcpy(unsafe.Pointer(&d.buf[0]), buffer, C.size_t(size))
|
||||
n, err := d.w.Write(d.buf[:size])
|
||||
h := *(*cgo.Handle)(handle)
|
||||
d := h.Value().(*Data)
|
||||
n, err := d.w.Write(unsafe.Slice((*byte)(buffer), size))
|
||||
if err != nil && err != io.EOF {
|
||||
d.err = err
|
||||
C.gpgme_err_set_errno(C.EIO)
|
||||
return -1
|
||||
}
|
||||
@@ -51,9 +54,11 @@ func gogpgme_writefunc(handle, buffer unsafe.Pointer, size C.size_t) C.ssize_t {
|
||||
|
||||
//export gogpgme_seekfunc
|
||||
func gogpgme_seekfunc(handle unsafe.Pointer, offset C.gpgme_off_t, whence C.int) C.gpgme_off_t {
|
||||
d := callbackLookup(uintptr(handle)).(*Data)
|
||||
h := *(*cgo.Handle)(handle)
|
||||
d := h.Value().(*Data)
|
||||
n, err := d.s.Seek(int64(offset), int(whence))
|
||||
if err != nil {
|
||||
d.err = err
|
||||
C.gpgme_err_set_errno(C.EIO)
|
||||
return -1
|
||||
}
|
||||
@@ -63,12 +68,11 @@ func gogpgme_seekfunc(handle unsafe.Pointer, offset C.gpgme_off_t, whence C.int)
|
||||
// The Data buffer used to communicate with GPGME
|
||||
type Data struct {
|
||||
dh C.gpgme_data_t // WARNING: Call runtime.KeepAlive(d) after ANY passing of d.dh to C
|
||||
buf []byte
|
||||
cbs C.struct_gpgme_data_cbs
|
||||
r io.Reader
|
||||
w io.Writer
|
||||
s io.Seeker
|
||||
cbc uintptr // WARNING: Call runtime.KeepAlive(d) after ANY use of d.cbc in C (typically via d.dh)
|
||||
cbc cgo.Handle // WARNING: Call runtime.KeepAlive(d) after ANY use of d.cbc in C (typically via d.dh)
|
||||
err error
|
||||
}
|
||||
|
||||
func newData() *Data {
|
||||
@@ -86,6 +90,7 @@ func NewData() (*Data, error) {
|
||||
// NewDataFile returns a new file based data buffer
|
||||
func NewDataFile(f *os.File) (*Data, error) {
|
||||
d := newData()
|
||||
d.r = f
|
||||
return d, handleError(C.gpgme_data_new_from_fd(&d.dh, C.int(f.Fd())))
|
||||
}
|
||||
|
||||
@@ -103,20 +108,22 @@ func NewDataBytes(b []byte) (*Data, error) {
|
||||
func NewDataReader(r io.Reader) (*Data, error) {
|
||||
d := newData()
|
||||
d.r = r
|
||||
d.cbs.read = C.gpgme_data_read_cb_t(C.gogpgme_readfunc)
|
||||
cbc := callbackAdd(d)
|
||||
d.cbc = cbc
|
||||
return d, handleError(C.gogpgme_data_new_from_cbs(&d.dh, &d.cbs, C.uintptr_t(cbc)))
|
||||
if s, ok := r.(io.Seeker); ok {
|
||||
d.s = s
|
||||
}
|
||||
d.cbc = cgo.NewHandle(d)
|
||||
return d, handleError(C.gpgme_data_new_from_cbs(&d.dh, &dataCallbacks, unsafe.Pointer(&d.cbc)))
|
||||
}
|
||||
|
||||
// NewDataWriter returns a new callback based data buffer
|
||||
func NewDataWriter(w io.Writer) (*Data, error) {
|
||||
d := newData()
|
||||
d.w = w
|
||||
d.cbs.write = C.gpgme_data_write_cb_t(C.gogpgme_writefunc)
|
||||
cbc := callbackAdd(d)
|
||||
d.cbc = cbc
|
||||
return d, handleError(C.gogpgme_data_new_from_cbs(&d.dh, &d.cbs, C.uintptr_t(cbc)))
|
||||
if s, ok := w.(io.Seeker); ok {
|
||||
d.s = s
|
||||
}
|
||||
d.cbc = cgo.NewHandle(d)
|
||||
return d, handleError(C.gpgme_data_new_from_cbs(&d.dh, &dataCallbacks, unsafe.Pointer(&d.cbc)))
|
||||
}
|
||||
|
||||
// NewDataReadWriter returns a new callback based data buffer
|
||||
@@ -124,11 +131,11 @@ func NewDataReadWriter(rw io.ReadWriter) (*Data, error) {
|
||||
d := newData()
|
||||
d.r = rw
|
||||
d.w = rw
|
||||
d.cbs.read = C.gpgme_data_read_cb_t(C.gogpgme_readfunc)
|
||||
d.cbs.write = C.gpgme_data_write_cb_t(C.gogpgme_writefunc)
|
||||
cbc := callbackAdd(d)
|
||||
d.cbc = cbc
|
||||
return d, handleError(C.gogpgme_data_new_from_cbs(&d.dh, &d.cbs, C.uintptr_t(cbc)))
|
||||
if s, ok := rw.(io.Seeker); ok {
|
||||
d.s = s
|
||||
}
|
||||
d.cbc = cgo.NewHandle(d)
|
||||
return d, handleError(C.gpgme_data_new_from_cbs(&d.dh, &dataCallbacks, unsafe.Pointer(&d.cbc)))
|
||||
}
|
||||
|
||||
// NewDataReadWriteSeeker returns a new callback based data buffer
|
||||
@@ -137,12 +144,8 @@ func NewDataReadWriteSeeker(rw io.ReadWriteSeeker) (*Data, error) {
|
||||
d.r = rw
|
||||
d.w = rw
|
||||
d.s = rw
|
||||
d.cbs.read = C.gpgme_data_read_cb_t(C.gogpgme_readfunc)
|
||||
d.cbs.write = C.gpgme_data_write_cb_t(C.gogpgme_writefunc)
|
||||
d.cbs.seek = C.gpgme_data_seek_cb_t(C.gogpgme_seekfunc)
|
||||
cbc := callbackAdd(d)
|
||||
d.cbc = cbc
|
||||
return d, handleError(C.gogpgme_data_new_from_cbs(&d.dh, &d.cbs, C.uintptr_t(cbc)))
|
||||
d.cbc = cgo.NewHandle(d)
|
||||
return d, handleError(C.gpgme_data_new_from_cbs(&d.dh, &dataCallbacks, unsafe.Pointer(&d.cbc)))
|
||||
}
|
||||
|
||||
// Close releases any resources associated with the data buffer
|
||||
@@ -151,7 +154,7 @@ func (d *Data) Close() error {
|
||||
return nil
|
||||
}
|
||||
if d.cbc > 0 {
|
||||
callbackDelete(d.cbc)
|
||||
d.cbc.Delete()
|
||||
}
|
||||
_, err := C.gpgme_data_release(d.dh)
|
||||
runtime.KeepAlive(d)
|
||||
@@ -160,24 +163,42 @@ func (d *Data) Close() error {
|
||||
}
|
||||
|
||||
func (d *Data) Write(p []byte) (int, error) {
|
||||
n, err := C.gpgme_data_write(d.dh, unsafe.Pointer(&p[0]), C.size_t(len(p)))
|
||||
runtime.KeepAlive(d)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
var buffer *byte
|
||||
if len(p) > 0 {
|
||||
buffer = &p[0]
|
||||
}
|
||||
if n == 0 {
|
||||
|
||||
n, err := C.gpgme_data_write(d.dh, unsafe.Pointer(buffer), C.size_t(len(p)))
|
||||
runtime.KeepAlive(d)
|
||||
switch {
|
||||
case d.err != nil:
|
||||
defer func() { d.err = nil }()
|
||||
|
||||
return 0, d.err
|
||||
case err != nil:
|
||||
return 0, err
|
||||
case len(p) > 0 && n == 0:
|
||||
return 0, io.EOF
|
||||
}
|
||||
return int(n), nil
|
||||
}
|
||||
|
||||
func (d *Data) Read(p []byte) (int, error) {
|
||||
n, err := C.gpgme_data_read(d.dh, unsafe.Pointer(&p[0]), C.size_t(len(p)))
|
||||
runtime.KeepAlive(d)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
var buffer *byte
|
||||
if len(p) > 0 {
|
||||
buffer = &p[0]
|
||||
}
|
||||
if n == 0 {
|
||||
|
||||
n, err := C.gpgme_data_read(d.dh, unsafe.Pointer(buffer), C.size_t(len(p)))
|
||||
runtime.KeepAlive(d)
|
||||
switch {
|
||||
case d.err != nil:
|
||||
defer func() { d.err = nil }()
|
||||
|
||||
return 0, d.err
|
||||
case err != nil:
|
||||
return 0, err
|
||||
case len(p) > 0 && n == 0:
|
||||
return 0, io.EOF
|
||||
}
|
||||
return int(n), nil
|
||||
@@ -186,7 +207,15 @@ func (d *Data) Read(p []byte) (int, error) {
|
||||
func (d *Data) Seek(offset int64, whence int) (int64, error) {
|
||||
n, err := C.gogpgme_data_seek(d.dh, C.gpgme_off_t(offset), C.int(whence))
|
||||
runtime.KeepAlive(d)
|
||||
return int64(n), err
|
||||
switch {
|
||||
case d.err != nil:
|
||||
defer func() { d.err = nil }()
|
||||
|
||||
return 0, d.err
|
||||
case err != nil:
|
||||
return 0, err
|
||||
}
|
||||
return int64(n), nil
|
||||
}
|
||||
|
||||
// Name returns the associated filename if any
|
||||
|
Reference in New Issue
Block a user