| | |
| | | import "C" |
| | | |
| | | import ( |
| | | "fmt" |
| | | "unsafe" |
| | | |
| | | bh "basic.com/valib/c_bhomebus.git/proto/source/bhome_msg" |
| | | ) |
| | | |
| | | func unsafeGetBytes(p *unsafe.Pointer, s int) []byte { |
| | | return (*[0x7fffffff]byte)(*p)[:s:s] |
| | | fmt.Println("creply", *p, "len", s) |
| | | d := (*[0x7fffffff]byte)(*p)[:s:s] |
| | | return d |
| | | } |
| | | |
| | | func ByteSlice2String(bs []byte) string { |
| | |
| | | defer C.BHFree(creply, creply_len) |
| | | if r { |
| | | // reply.Unmarshal(C.GoBytes(creply, creply_len)) |
| | | reply.Unmarshal(unsafeGetBytes(&creply, int(creply_len))) |
| | | fmt.Println("creply", creply, "len", creply_len) |
| | | d := unsafeGetBytes(&creply, int(creply_len)) |
| | | fmt.Println("data len", len(d)) |
| | | reply.Unmarshal(d) |
| | | } |
| | | return r |
| | | } |