From 5efb87997bee250c0a4d5766b1c97b75d3213ce5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=80=9A=E6=B4=B2?= Date: Wed, 13 Nov 2024 10:32:08 +0800 Subject: [PATCH] Util (macOS): cleanup `cf_helpers.c` --- src/util/apple/cf_helpers.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/util/apple/cf_helpers.c b/src/util/apple/cf_helpers.c index a7705ec65..e63df9727 100644 --- a/src/util/apple/cf_helpers.c +++ b/src/util/apple/cf_helpers.c @@ -52,22 +52,17 @@ const char* ffCfStrGetString(CFTypeRef cf, FFstrbuf* result) const char* cstr = CFStringGetCStringPtr(cfStr, kCFStringEncodingUTF8); if (cstr) - { ffStrbufSetS(result, cstr); - return NULL; - } else { - uint32_t length = CFStringGetLength(cfStr); - uint32_t maxLength = (uint32_t) CFStringGetMaximumSizeForEncoding(length, kCFStringEncodingUTF8); - ffStrbufEnsureFixedLengthFree(result, maxLength); + uint32_t length = (uint32_t) CFStringGetLength(cfStr); + ffStrbufEnsureFixedLengthFree(result, (uint32_t) CFStringGetMaximumSizeForEncoding(length, kCFStringEncodingUTF8)); if(!CFStringGetCString(cfStr, result->chars, result->allocated, kCFStringEncodingUTF8)) return "CFStringGetCString() failed"; + // CFStringGetCString ensures the buffer is NUL terminated + // https://developer.apple.com/documentation/corefoundation/1542721-cfstringgetcstring + result->length = (uint32_t) strnlen(result->chars, (uint32_t)result->allocated); } - - // CFStringGetCString ensures the buffer is NUL terminated - // https://developer.apple.com/documentation/corefoundation/1542721-cfstringgetcstring - result->length = (uint32_t) strnlen(result->chars, (uint32_t)result->allocated); } else if (CFGetTypeID(cf) == CFDataGetTypeID()) {