collate/tools/colcmp: fix some breakage from cftypes cgo changes in Go 1.10
I used C.kCFAllocatorDefault (defined as NULL in C) instead of 0 so
it'd compile on older Go versions.
After this change, only one compilation error remains:
./darwin.go:48: cannot use l (type _Ctype_CFStringRef) as type *_Ctype_struct___CFString in argument to func literal
Updates golang/go#22900
Change-Id: I55dfbf560c18b4ebaedf4d96340423c0b1ae445a
Reviewed-on: https://go-review.googlesource.com/80215
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Marcel van Lohuizen <mpvl@golang.org>
diff --git a/collate/tools/colcmp/darwin.go b/collate/tools/colcmp/darwin.go
index c2c31d5..d2300e3 100644
--- a/collate/tools/colcmp/darwin.go
+++ b/collate/tools/colcmp/darwin.go
@@ -39,13 +39,13 @@
func (c *osxCollator) init(locale string) {
l := C.CFStringCreateWithBytes(
- nil,
+ C.kCFAllocatorDefault,
osxUInt8P([]byte(locale)),
C.CFIndex(len(locale)),
C.kCFStringEncodingUTF8,
C.Boolean(0),
)
- c.loc = C.CFLocaleCreate(nil, l)
+ c.loc = C.CFLocaleCreate(C.kCFAllocatorDefault, l)
}
func newOSX8Collator(locale string) (Collator, error) {
@@ -74,16 +74,16 @@
func (c osx16Collator) Compare(a, b Input) int {
sa := C.CFStringCreateWithCharactersNoCopy(
- nil,
+ C.kCFAllocatorDefault,
osxCharP(a.UTF16),
C.CFIndex(len(a.UTF16)),
- nil,
+ C.kCFAllocatorDefault,
)
sb := C.CFStringCreateWithCharactersNoCopy(
- nil,
+ C.kCFAllocatorDefault,
osxCharP(b.UTF16),
C.CFIndex(len(b.UTF16)),
- nil,
+ C.kCFAllocatorDefault,
)
_range := C.CFRangeMake(0, C.CFStringGetLength(sa))
return int(C.CFStringCompareWithOptionsAndLocale(sa, sb, _range, c.opt, c.loc))
@@ -91,20 +91,20 @@
func (c osx8Collator) Compare(a, b Input) int {
sa := C.CFStringCreateWithBytesNoCopy(
- nil,
+ C.kCFAllocatorDefault,
osxUInt8P(a.UTF8),
C.CFIndex(len(a.UTF8)),
C.kCFStringEncodingUTF8,
C.Boolean(0),
- nil,
+ C.kCFAllocatorDefault,
)
sb := C.CFStringCreateWithBytesNoCopy(
- nil,
+ C.kCFAllocatorDefault,
osxUInt8P(b.UTF8),
C.CFIndex(len(b.UTF8)),
C.kCFStringEncodingUTF8,
C.Boolean(0),
- nil,
+ C.kCFAllocatorDefault,
)
_range := C.CFRangeMake(0, C.CFStringGetLength(sa))
return int(C.CFStringCompareWithOptionsAndLocale(sa, sb, _range, c.opt, c.loc))