Преглед на файлове

decklink: Use libobs CFString utils

Marvin Scholz преди 7 години
родител
ревизия
94b30ec05a
променени са 1 файла, в които са добавени 5 реда и са изтрити 10 реда
  1. 5 10
      plugins/decklink/mac/platform.cpp

+ 5 - 10
plugins/decklink/mac/platform.cpp

@@ -1,22 +1,17 @@
 #include "../platform.hpp"
+#include <util/apple/cfstring-utils.h>
 
 bool DeckLinkStringToStdString(decklink_string_t input, std::string& output)
 {
 	const CFStringRef string = static_cast<CFStringRef>(input);
-	const CFIndex length = CFStringGetLength(string);
-	const CFIndex maxLength = CFStringGetMaximumSizeForEncoding(length,
-			kCFStringEncodingASCII) + 1;
 
-	char * const buffer = new char[maxLength];
+	char *buffer = cfstr_copy_cstr(string, kCFStringEncodingASCII);
 
-	const bool result = CFStringGetCString(string, buffer, maxLength,
-			kCFStringEncodingASCII);
-
-	if (result)
+	if (buffer)
 		output = std::string(buffer);
 
-	delete[] buffer;
+	bfree(buffer);
 	CFRelease(string);
 
-	return result;
+	return (buffer != NULL);
 }