Fix multiple missing UTF-8 decoding.

(cherry picked from commit c69e0d16bc)
This commit is contained in:
bruvzg 2022-01-06 11:34:10 +02:00 committed by Rémi Verschelde
parent 35cfe4160a
commit cb6d82a111
No known key found for this signature in database
GPG Key ID: C3336907360768E1
12 changed files with 17 additions and 17 deletions

View File

@ -191,7 +191,7 @@ bool ZipArchive::try_open_pack(const String &p_path, bool p_replace_files, uint6
f.package = pkg_num; f.package = pkg_num;
unzGetFilePos(zfile, &f.file_pos); unzGetFilePos(zfile, &f.file_pos);
String fname = String("res://") + filename_inzip; String fname = String("res://") + String::utf8(filename_inzip);
files[fname] = f; files[fname] = f;
uint8_t md5[16] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; uint8_t md5[16] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };

View File

@ -478,7 +478,7 @@ String OS::get_model_name() const {
} }
void OS::set_cmdline(const char *p_execpath, const List<String> &p_args) { void OS::set_cmdline(const char *p_execpath, const List<String> &p_args) {
_execpath = p_execpath; _execpath = String::utf8(p_execpath);
_cmdline = p_args; _cmdline = p_args;
}; };

View File

@ -477,8 +477,8 @@ void ResourceCache::dump(const char *p_file, bool p_short) {
FileAccess *f = nullptr; FileAccess *f = nullptr;
if (p_file) { if (p_file) {
f = FileAccess::open(p_file, FileAccess::WRITE); f = FileAccess::open(String::utf8(p_file), FileAccess::WRITE);
ERR_FAIL_COND_MSG(!f, "Cannot create file at path '" + String(p_file) + "'."); ERR_FAIL_COND_MSG(!f, "Cannot create file at path '" + String::utf8(p_file) + "'.");
} }
const String *K = nullptr; const String *K = nullptr;

View File

@ -69,7 +69,7 @@
<return type="String" /> <return type="String" />
<argument index="0" name="bytes" type="int" default="-1" /> <argument index="0" name="bytes" type="int" default="-1" />
<description> <description>
Gets a string with byte-length [code]bytes[/code] from the stream. If [code]bytes[/code] is negative (default) the length will be read from the stream using the reverse process of [method put_string]. Gets an ASCII string with byte-length [code]bytes[/code] from the stream. If [code]bytes[/code] is negative (default) the length will be read from the stream using the reverse process of [method put_string].
</description> </description>
</method> </method>
<method name="get_u16"> <method name="get_u16">

View File

@ -283,9 +283,9 @@ Array AudioDriverALSA::get_device_list() {
if (name != nullptr && !strncmp(name, "plughw", 6)) { if (name != nullptr && !strncmp(name, "plughw", 6)) {
if (desc) { if (desc) {
list.push_back(String(name) + ";" + String(desc)); list.push_back(String::utf8(name) + ";" + String::utf8(desc));
} else { } else {
list.push_back(String(name)); list.push_back(String::utf8(name));
} }
} }

View File

@ -540,7 +540,7 @@ Array AudioDriverCoreAudio::_get_device_list(bool capture) {
ERR_FAIL_NULL_V_MSG(buffer, list, "Out of memory."); ERR_FAIL_NULL_V_MSG(buffer, list, "Out of memory.");
if (CFStringGetCString(cfname, buffer, maxSize, kCFStringEncodingUTF8)) { if (CFStringGetCString(cfname, buffer, maxSize, kCFStringEncodingUTF8)) {
// Append the ID to the name in case we have devices with duplicate name // Append the ID to the name in case we have devices with duplicate name
list.push_back(String(buffer) + " (" + itos(audioDevices[i]) + ")"); list.push_back(String::utf8(buffer) + " (" + itos(audioDevices[i]) + ")");
} }
memfree(buffer); memfree(buffer);
@ -597,7 +597,7 @@ void AudioDriverCoreAudio::_set_device(const String &device, bool capture) {
char *buffer = (char *)memalloc(maxSize); char *buffer = (char *)memalloc(maxSize);
ERR_FAIL_NULL_MSG(buffer, "Out of memory."); ERR_FAIL_NULL_MSG(buffer, "Out of memory.");
if (CFStringGetCString(cfname, buffer, maxSize, kCFStringEncodingUTF8)) { if (CFStringGetCString(cfname, buffer, maxSize, kCFStringEncodingUTF8)) {
String name = String(buffer) + " (" + itos(audioDevices[i]) + ")"; String name = String::utf8(buffer) + " (" + itos(audioDevices[i]) + ")";
if (name == device) { if (name == device) {
deviceId = audioDevices[i]; deviceId = audioDevices[i];
found = true; found = true;

View File

@ -231,7 +231,7 @@ void CameraFeedOSX::set_device(AVCaptureDevice *p_device) {
// get some info // get some info
NSString *device_name = p_device.localizedName; NSString *device_name = p_device.localizedName;
name = device_name.UTF8String; name = String::utf8(device_name.UTF8String);
position = CameraFeed::FEED_UNSPECIFIED; position = CameraFeed::FEED_UNSPECIFIED;
if ([p_device position] == AVCaptureDevicePositionBack) { if ([p_device position] == AVCaptureDevicePositionBack) {
position = CameraFeed::FEED_BACK; position = CameraFeed::FEED_BACK;

View File

@ -67,7 +67,7 @@ String iOS::get_model() const {
NSString *platform = [NSString stringWithCString:model encoding:NSUTF8StringEncoding]; NSString *platform = [NSString stringWithCString:model encoding:NSUTF8StringEncoding];
free(model); free(model);
const char *str = [platform UTF8String]; const char *str = [platform UTF8String];
return String(str != NULL ? str : ""); return String::utf8(str != nullptr ? str : "");
} }
String iOS::get_rate_url(int p_app_id) const { String iOS::get_rate_url(int p_app_id) const {

View File

@ -158,7 +158,7 @@ void JoypadIPhone::start_processing() {
}; };
// tell Godot about our new controller // tell Godot about our new controller
OSIPhone::get_singleton()->joy_connection_changed(joy_id, true, [controller.vendorName UTF8String]); OSIPhone::get_singleton()->joy_connection_changed(joy_id, true, String::utf8([controller.vendorName UTF8String]));
// add it to our dictionary, this will retain our controllers // add it to our dictionary, this will retain our controllers
[self.connectedJoypads setObject:controller forKey:[NSNumber numberWithInt:joy_id]]; [self.connectedJoypads setObject:controller forKey:[NSNumber numberWithInt:joy_id]];

View File

@ -659,7 +659,7 @@ const char *OS_JavaScript::get_audio_driver_name(int p_driver) const {
// Clipboard // Clipboard
void OS_JavaScript::update_clipboard_callback(const char *p_text) { void OS_JavaScript::update_clipboard_callback(const char *p_text) {
// Only call set_clipboard from OS (sets local clipboard) // Only call set_clipboard from OS (sets local clipboard)
get_singleton()->OS::set_clipboard(p_text); get_singleton()->OS::set_clipboard(String::utf8(p_text));
} }
void OS_JavaScript::set_clipboard(const String &p_text) { void OS_JavaScript::set_clipboard(const String &p_text) {

View File

@ -3326,7 +3326,7 @@ void OS_OSX::run() {
quit = true; quit = true;
} }
} @catch (NSException *exception) { } @catch (NSException *exception) {
ERR_PRINT("NSException: " + String([exception reason].UTF8String)); ERR_PRINT("NSException: " + String::utf8([exception reason].UTF8String));
} }
}; };
@ -3402,7 +3402,7 @@ Error OS_OSX::move_to_trash(const String &p_path) {
NSError *err; NSError *err;
if (![fm trashItemAtURL:url resultingItemURL:nil error:&err]) { if (![fm trashItemAtURL:url resultingItemURL:nil error:&err]) {
ERR_PRINT("trashItemAtURL error: " + String(err.localizedDescription.UTF8String)); ERR_PRINT("trashItemAtURL error: " + String::utf8(err.localizedDescription.UTF8String));
return FAILED; return FAILED;
} }

View File

@ -3805,7 +3805,7 @@ Error OS_X11::move_to_trash(const String &p_path) {
if (trash_path == "") { if (trash_path == "") {
char *dhome = getenv("XDG_DATA_HOME"); char *dhome = getenv("XDG_DATA_HOME");
if (dhome) { if (dhome) {
trash_path = String(dhome) + "/Trash"; trash_path = String::utf8(dhome) + "/Trash";
} }
} }
@ -3813,7 +3813,7 @@ Error OS_X11::move_to_trash(const String &p_path) {
if (trash_path == "") { if (trash_path == "") {
char *home = getenv("HOME"); char *home = getenv("HOME");
if (home) { if (home) {
trash_path = String(home) + "/.local/share/Trash"; trash_path = String::utf8(home) + "/.local/share/Trash";
} }
} }