Files
platform-external-webrtc/rtc_base/macutils.cc
Niels Möller 31d8b52075 Delete unneeded includes of rtc_base/stringutils.h.
Also delete corresponding dependencies on rtc_base:stringutils.

Bug: webrtc:6424
Change-Id: I2be5e021292eea2d788c76a63cc0e4f7cefd927d
Reviewed-on: https://webrtc-review.googlesource.com/c/114544
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26057}
2018-12-19 11:04:27 +00:00

48 lines
1.4 KiB
C++

/*
* Copyright 2007 The WebRTC Project Authors. All rights reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
#include <cstring>
#include <memory>
#include <sys/utsname.h>
#include "rtc_base/checks.h"
#include "rtc_base/logging.h"
#include "rtc_base/macutils.h"
namespace rtc {
bool ToUtf8(const CFStringRef str16, std::string* str8) {
if ((nullptr == str16) || (nullptr == str8)) {
return false;
}
size_t maxlen = CFStringGetMaximumSizeForEncoding(CFStringGetLength(str16),
kCFStringEncodingUTF8) +
1;
std::unique_ptr<char[]> buffer(new char[maxlen]);
if (!buffer ||
!CFStringGetCString(str16, buffer.get(), maxlen, kCFStringEncodingUTF8)) {
return false;
}
str8->assign(buffer.get());
return true;
}
bool ToUtf16(const std::string& str8, CFStringRef* str16) {
if (nullptr == str16) {
return false;
}
*str16 = CFStringCreateWithBytes(kCFAllocatorDefault,
reinterpret_cast<const UInt8*>(str8.data()),
str8.length(), kCFStringEncodingUTF8, false);
return nullptr != *str16;
}
} // namespace rtc