mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-26 10:10:31 +00:00
1b83407ce9
This patch was automatically generated by the following script: #!/bin/bash # Command to convert PRUnichar to char16_t function convert() { echo "Converting $1 to $2..." find . ! -wholename "*nsprpub*" \ ! -wholename "*security/nss*" \ ! -wholename "*modules/libmar*" \ ! -wholename "*/.hg*" \ ! -wholename "obj-ff-dbg*" \ ! -name prtypes.h \ ! -name Char16.h \ -type f \ \( -iname "*.cpp" \ -o -iname "*.h" \ -o -iname "*.c" \ -o -iname "*.cc" \ -o -iname "*.idl" \ -o -iname "*.ipdl" \ -o -iname "*.ipdlh" \ -o -iname "*.mm" \) | \ xargs -n 1 sed -i -e "s/\b$1\b/$2/g" } convert PRUnichar char16_t
42 lines
1.3 KiB
Plaintext
42 lines
1.3 KiB
Plaintext
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#include <Foundation/Foundation.h>
|
|
|
|
#include "mac_utils.h"
|
|
#include "nsXPCOM.h"
|
|
|
|
void GetObjCExceptionInfo(void* inException, nsACString& outString)
|
|
{
|
|
NSException* e = (NSException*)inException;
|
|
|
|
NSString* name = [e name];
|
|
NSString* reason = [e reason];
|
|
unsigned int nameLength = [name length];
|
|
unsigned int reasonLength = [reason length];
|
|
|
|
unichar* nameBuffer = (unichar*)NS_Alloc(sizeof(unichar) * (nameLength + 1));
|
|
if (!nameBuffer)
|
|
return;
|
|
unichar* reasonBuffer = (unichar*)NS_Alloc(sizeof(unichar) * (reasonLength + 1));
|
|
if (!reasonBuffer) {
|
|
NS_Free(nameBuffer);
|
|
return;
|
|
}
|
|
|
|
[name getCharacters:nameBuffer];
|
|
[reason getCharacters:reasonBuffer];
|
|
nameBuffer[nameLength] = '\0';
|
|
reasonBuffer[reasonLength] = '\0';
|
|
|
|
outString.AssignLiteral("\nObj-C Exception data:\n");
|
|
AppendUTF16toUTF8(reinterpret_cast<const char16_t*>(nameBuffer), outString);
|
|
outString.AppendLiteral(": ");
|
|
AppendUTF16toUTF8(reinterpret_cast<const char16_t*>(reasonBuffer), outString);
|
|
|
|
NS_Free(nameBuffer);
|
|
NS_Free(reasonBuffer);
|
|
}
|