Beispiel #1
0
CFStringRef CFErrorCopyDescription(CFErrorRef err) {
    if (CF_IS_OBJC(__kCFErrorTypeID, err)) {  // Since we have to return a retained result, we need to treat the toll-free bridging specially
        CFStringRef desc;
        CF_OBJC_CALL0(CFStringRef, desc, err, "localizedDescription");
        return desc ? (CFStringRef)CFRetain(desc) : NULL;    // !!! It really should never return nil.
    }
    __CFAssertIsError(err);
    return _CFErrorCreateLocalizedDescription(err);
}
Beispiel #2
0
CFStringRef CFErrorCopyDescription(CFErrorRef err) {
    if (CF_IS_OBJC(err)) {
        // Since we have to return a retained result,
        //  we need to treat the toll-free bridging specially.
        CFStringRef desc;
        CF_OBJC_CALL(CFStringRef, desc, err, "localizedDescription");
        // !!! It really should never return nil.
        return desc ? (CFStringRef)CFRetain(desc) : NULL;
    }
    CF_VALIDATE_ERROR_ARG(err);
    return _CFErrorCreateLocalizedDescription(err);
}