CFStringRef fmt = CFStringCreateWithCString(NULL, format, kCFStringEncodingUTF8);
CFStringRef str = CFStringCreateWithFormatAndArguments(NULL, NULL, fmt, ap);
va_end(ap);
- CFRelease(fmt);
+ CFReleaseNull(fmt);
CFStringRef keys[] = {kCFErrorDescriptionKey};
CFStringRef values[] = {str};
CFErrorRef result = CFErrorCreateWithUserInfoKeysAndValues(NULL, domain, errorCode, (const void**) keys, (const void**) values, 1);
- CFRelease(str);
+ CFReleaseNull(str);
return result;
}
CFTypeRef DebugRetain(const void* owner, CFTypeRef type)
{
- CFTypeRef result = CFRetain(type);
+ CFTypeRef result = CFRetainSafe(type);
if (type == gAnnotatedRef)
{
fprintf(stderr, "Object %p was retained by object %p, count = %ld\n", type, owner, CFGetRetainCount(type));
fprintf(stderr, "Object %p was released by object %p, count = %ld\n", type, owner, CFGetRetainCount(type) - 1);
}
- CFRelease(type);
+ CFReleaseNull(type);
}
// Cribbed from _dispatch_bug and altered a bit