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
1 changed files with 2 additions and 9 deletions

View File

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