rados: convert ListPools to use cutil.SplitSparseBuffer

Signed-off-by: John Mulligan <jmulligan@redhat.com>
This commit is contained in:
John Mulligan 2020-06-19 13:38:28 -04:00 committed by John Mulligan
parent bfe4adfd2d
commit 08bb0096c4

View File

@ -6,9 +6,9 @@ package rados
import "C"
import (
"bytes"
"unsafe"
"github.com/ceph/go-ceph/internal/cutil"
"github.com/ceph/go-ceph/internal/retry"
)
@ -117,14 +117,7 @@ func (c *Conn) ListPools() (names []string, err error) {
continue
}
tmp := bytes.SplitAfter(buf[:ret-1], []byte{0})
for _, s := range tmp {
if len(s) > 0 {
name := C.GoString((*C.char)(unsafe.Pointer(&s[0])))
names = append(names, name)
}
}
names = cutil.SplitSparseBuffer(buf[:ret])
return names, nil
}
}