diff --git a/rawpointer.go b/rawpointer.go index 7f555479..bd74e784 100644 --- a/rawpointer.go +++ b/rawpointer.go @@ -2,6 +2,8 @@ package capnp import ( "fmt" + + "capnproto.org/go/capnp/v3/internal/str" ) // pointerOffset is an address offset in multiples of word size. @@ -201,7 +203,11 @@ func (p rawPointer) GoString() string { } switch p.pointerType() { case structPointer: - return fmt.Sprintf("rawStructPointer(%d, %#v)", p.offset(), p.structSize()) + return "rawStructPointer(" + + str.Itod(p.offset()) + + " , " + + p.structSize().String() + + ")" case listPointer: var lt string switch p.listType() { @@ -222,16 +228,30 @@ func (p rawPointer) GoString() string { case compositeList: lt = "compositeList" } - return fmt.Sprintf("rawListPointer(%d, %s, %d)", p.offset(), lt, p.numListElements()) + return "rawListPointer(" + + str.Itod(p.offset()) + + ", " + + lt + + ", " + + str.Itod(p.numListElements()) + + ")" case farPointer: - return fmt.Sprintf("rawFarPointer(%d, %v)", p.farSegment(), p.farAddress()) + return "rawFarPointer(" + + str.Utod(p.farSegment()) + + ", " + + p.farAddress().String() + + ")" case doubleFarPointer: - return fmt.Sprintf("rawDoubleFarPointer(%d, %v)", p.farSegment(), p.farAddress()) + return "rawDoubleFarPointer(" + + str.Utod(p.farSegment()) + + ", " + + p.farAddress().String() + + ")" default: // other pointer if p.otherPointerType() != 0 { return fmt.Sprintf("rawPointer(%#016x)", uint64(p)) } - return fmt.Sprintf("rawInterfacePointer(%d)", p.capabilityIndex()) + return "rawInterfacePointer(" + str.Utod(p.capabilityIndex()) + ")" } } diff --git a/server/server.go b/server/server.go index 053e4636..1434ee2c 100644 --- a/server/server.go +++ b/server/server.go @@ -4,7 +4,6 @@ package server // import "capnproto.org/go/capnp/v3/server" import ( "context" - "fmt" "sort" "sync" @@ -275,8 +274,7 @@ func sendArgsToStruct(s capnp.Send) (capnp.Struct, error) { } if err := s.PlaceArgs(st); err != nil { st.Message().Reset(nil) - // Using fmt.Errorf to ensure sendArgsToStruct returns a generic error. - return capnp.Struct{}, fmt.Errorf("place args: %w", err) + return capnp.Struct{}, exc.WrapError("place args", err) } return st, nil }