mirror of https://github.com/go-python/gopy.git
bind: fix goslice indirection
Change-Id: Icb6ea58ef0f6fc9ecbdb7288f75d627878e3d68e
This commit is contained in:
parent
9b92f7de5d
commit
f06dcce095
|
@ -249,7 +249,7 @@ func (g *cpyGen) genTypeTPAsBuffer(sym *symbol) {
|
|||
g.impl.Outdent()
|
||||
g.impl.Printf("}\n\n")
|
||||
g.impl.Printf("%[1]s *py = (%[1]s*)self;\n", sym.cpyname)
|
||||
g.impl.Printf("GoSlice *go = *(GoSlice**)(py->cgopy);\n")
|
||||
g.impl.Printf("GoSlice *go = (GoSlice*)(py->cgopy);\n")
|
||||
g.impl.Printf("view->obj = (PyObject*)py;\n")
|
||||
g.impl.Printf("view->buf = (void*)go->data;\n")
|
||||
g.impl.Printf("view->len = go->len;\n")
|
||||
|
@ -300,7 +300,7 @@ func (g *cpyGen) genTypeTPAsBuffer(sym *symbol) {
|
|||
g.impl.Printf("return -1;\n")
|
||||
g.impl.Outdent()
|
||||
g.impl.Printf("}\n\n")
|
||||
g.impl.Printf("slice = *(GoSlice**)self->cgopy;\n")
|
||||
g.impl.Printf("slice = (GoSlice*)self->cgopy;\n")
|
||||
g.impl.Printf("*ptr = (void*)slice->data;\n")
|
||||
g.impl.Printf("return slice->len;\n")
|
||||
g.impl.Outdent()
|
||||
|
@ -342,7 +342,7 @@ func (g *cpyGen) genTypeTPAsBuffer(sym *symbol) {
|
|||
sym.cpyname,
|
||||
)
|
||||
g.impl.Indent()
|
||||
g.impl.Printf("GoSlice *slice = *(GoSlice**)(self->cgopy);\n")
|
||||
g.impl.Printf("GoSlice *slice = (GoSlice*)(self->cgopy);\n")
|
||||
g.impl.Printf("if (lenp) { *lenp = slice->len; }\n")
|
||||
g.impl.Printf("return 1;\n")
|
||||
g.impl.Outdent()
|
||||
|
|
Loading…
Reference in New Issue