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))