Oh, and make wcMax of 0 produce default of max (otherwise it doesn't make sense to have 0 chars?)
https://play.golang.org/p/2rLtWFGhpW On Monday, February 27, 2017 at 6:41:50 PM UTC, Mark wrote: > > One tiny suggestion s[:i] > > https://play.golang.org/p/_T_hqBg6ka > > Thanks:-) > > On Monday, February 27, 2017 at 6:36:06 PM UTC, peterGo wrote: >> >> Mark, >> >> Fixed typos and made minor improvements. >> >> Go Playground: https://play.golang.org/p/cbQL8-72s5 >> >> Peter >> >> On Monday, February 27, 2017 at 11:05:32 AM UTC-5, Mark wrote: >>> >>> Ooops just realised that I didn't enforce the max chars limit. Here's >>> another version: >>> >>> func CwcharToString(p uintptr, maxchars int) string { >>> if p == 0 { >>> return "" >>> } >>> uints := make([]uint16, 0, maxchars) >>> for i, p := 0, uintptr(unsafe.Pointer(p)); i < maxchars; p += 2 { >>> u := *(*uint16)(unsafe.Pointer(p)) >>> if u == 0 { >>> break >>> } >>> uints = append(uints, u) >>> i++ >>> } >>> return string(utf16.Decode(uints)) >>> } >>> >>> -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.