Revert "(pt. 2) static variables are initialized to '0' automatically as per C rules"

This reverts commit 47410df7a3d2480dd8fc7fb97cf00319ce5e9344.
This commit is contained in:
libretroadmin 2024-11-19 03:03:05 +01:00
parent 47410df7a3
commit 82e4504968
21 changed files with 909 additions and 910 deletions

View File

@ -1,206 +1,206 @@
/* RetroArch - A frontend for libretro. /* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2014 - Hans-Kristian Arntzen * Copyright (C) 2010-2014 - Hans-Kristian Arntzen
* Copyright (C) 2011-2021 - Daniel De Matteis * Copyright (C) 2011-2021 - Daniel De Matteis
* *
* RetroArch is free software: you can redistribute it and/or modify it under the terms * RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found- * of the GNU General Public License as published by the Free Software Found-
* ation, either version 3 of the License, or (at your option) any later version. * ation, either version 3 of the License, or (at your option) any later version.
* *
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details. * PURPOSE. See the GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License along with RetroArch. * You should have received a copy of the GNU General Public License along with RetroArch.
* If not, see <http://www.gnu.org/licenses/>. * If not, see <http://www.gnu.org/licenses/>.
*/ */
#include <stdint.h> #include <stdint.h>
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
#include "../config.h" #include "../config.h"
#endif #endif
#include "../driver.h" #include "../driver.h"
#include "../list_special.h" #include "../list_special.h"
#include "../retroarch.h" #include "../retroarch.h"
#include "../runloop.h" #include "../runloop.h"
#include "../verbosity.h" #include "../verbosity.h"
#include "bluetooth_driver.h" #include "bluetooth_driver.h"
static bluetooth_driver_t bluetooth_null = { static bluetooth_driver_t bluetooth_null = {
NULL, /* init */ NULL, /* init */
NULL, /* free */ NULL, /* free */
NULL, /* scan */ NULL, /* scan */
NULL, /* get_devices */ NULL, /* get_devices */
NULL, /* device_is_connected */ NULL, /* device_is_connected */
NULL, /* device_get_sublabel */ NULL, /* device_get_sublabel */
NULL, /* connect_device */ NULL, /* connect_device */
NULL, /* remove_device */ NULL, /* remove_device */
"null", "null",
}; };
const bluetooth_driver_t *bluetooth_drivers[] = { const bluetooth_driver_t *bluetooth_drivers[] = {
#ifdef HAVE_BLUETOOTH #ifdef HAVE_BLUETOOTH
&bluetooth_bluetoothctl, &bluetooth_bluetoothctl,
#ifdef HAVE_DBUS #ifdef HAVE_DBUS
&bluetooth_bluez, &bluetooth_bluez,
#endif #endif
#endif #endif
&bluetooth_null, &bluetooth_null,
NULL, NULL,
}; };
static bluetooth_driver_state_t bluetooth_driver_st; static bluetooth_driver_state_t bluetooth_driver_st = {0};
bluetooth_driver_state_t *bluetooth_state_get_ptr(void) bluetooth_driver_state_t *bluetooth_state_get_ptr(void)
{ {
return &bluetooth_driver_st; return &bluetooth_driver_st;
} }
/** /**
* config_get_bluetooth_driver_options: * config_get_bluetooth_driver_options:
* *
* Get an enumerated list of all bluetooth driver names, * Get an enumerated list of all bluetooth driver names,
* separated by '|'. * separated by '|'.
* *
* Returns: string listing of all bluetooth driver names, * Returns: string listing of all bluetooth driver names,
* separated by '|'. * separated by '|'.
**/ **/
const char* config_get_bluetooth_driver_options(void) const char* config_get_bluetooth_driver_options(void)
{ {
return char_list_new_special(STRING_LIST_BLUETOOTH_DRIVERS, NULL); return char_list_new_special(STRING_LIST_BLUETOOTH_DRIVERS, NULL);
} }
void driver_bluetooth_scan(void) void driver_bluetooth_scan(void)
{ {
bluetooth_driver_state_t *bt_st = &bluetooth_driver_st; bluetooth_driver_state_t *bt_st = &bluetooth_driver_st;
if ( bt_st if ( bt_st
&& bt_st->active && bt_st->active
&& bt_st->drv->scan ) && bt_st->drv->scan )
bt_st->drv->scan(bt_st->data); bt_st->drv->scan(bt_st->data);
} }
void driver_bluetooth_get_devices(struct string_list* devices) void driver_bluetooth_get_devices(struct string_list* devices)
{ {
bluetooth_driver_state_t *bt_st = &bluetooth_driver_st; bluetooth_driver_state_t *bt_st = &bluetooth_driver_st;
if ( bt_st if ( bt_st
&& bt_st->active && bt_st->active
&& bt_st->drv->get_devices ) && bt_st->drv->get_devices )
bt_st->drv->get_devices(bt_st->data, devices); bt_st->drv->get_devices(bt_st->data, devices);
} }
bool driver_bluetooth_device_is_connected(unsigned i) bool driver_bluetooth_device_is_connected(unsigned i)
{ {
bluetooth_driver_state_t *bt_st = &bluetooth_driver_st; bluetooth_driver_state_t *bt_st = &bluetooth_driver_st;
if ( bt_st if ( bt_st
&& bt_st->active && bt_st->active
&& bt_st->drv->device_is_connected ) && bt_st->drv->device_is_connected )
return bt_st->drv->device_is_connected(bt_st->data, i); return bt_st->drv->device_is_connected(bt_st->data, i);
return false; return false;
} }
void driver_bluetooth_device_get_sublabel(char *s, unsigned i, size_t len) void driver_bluetooth_device_get_sublabel(char *s, unsigned i, size_t len)
{ {
bluetooth_driver_state_t *bt_st = &bluetooth_driver_st; bluetooth_driver_state_t *bt_st = &bluetooth_driver_st;
if ( bt_st if ( bt_st
&& bt_st->active && bt_st->active
&& bt_st->drv->device_get_sublabel ) && bt_st->drv->device_get_sublabel )
bt_st->drv->device_get_sublabel(bt_st->data, s, i, len); bt_st->drv->device_get_sublabel(bt_st->data, s, i, len);
} }
bool driver_bluetooth_connect_device(unsigned i) bool driver_bluetooth_connect_device(unsigned i)
{ {
bluetooth_driver_state_t *bt_st = &bluetooth_driver_st; bluetooth_driver_state_t *bt_st = &bluetooth_driver_st;
if (bt_st->active) if (bt_st->active)
return bt_st->drv->connect_device(bt_st->data, i); return bt_st->drv->connect_device(bt_st->data, i);
return false; return false;
} }
bool driver_bluetooth_remove_device(unsigned i) bool driver_bluetooth_remove_device(unsigned i)
{ {
bluetooth_driver_state_t *bt_st = &bluetooth_driver_st; bluetooth_driver_state_t *bt_st = &bluetooth_driver_st;
if (bt_st->active) if (bt_st->active)
return bt_st->drv->remove_device(bt_st->data, i); return bt_st->drv->remove_device(bt_st->data, i);
return false; return false;
} }
bool bluetooth_driver_ctl(enum rarch_bluetooth_ctl_state state, void *data) bool bluetooth_driver_ctl(enum rarch_bluetooth_ctl_state state, void *data)
{ {
bluetooth_driver_state_t *bt_st = &bluetooth_driver_st; bluetooth_driver_state_t *bt_st = &bluetooth_driver_st;
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
switch (state) switch (state)
{ {
case RARCH_BLUETOOTH_CTL_DESTROY: case RARCH_BLUETOOTH_CTL_DESTROY:
bt_st->drv = NULL; bt_st->drv = NULL;
bt_st->data = NULL; bt_st->data = NULL;
bt_st->active = false; bt_st->active = false;
break; break;
case RARCH_BLUETOOTH_CTL_FIND_DRIVER: case RARCH_BLUETOOTH_CTL_FIND_DRIVER:
{ {
const char *prefix = "bluetooth driver"; const char *prefix = "bluetooth driver";
int i = (int)driver_find_index( int i = (int)driver_find_index(
"bluetooth_driver", "bluetooth_driver",
settings->arrays.bluetooth_driver); settings->arrays.bluetooth_driver);
if (i >= 0) if (i >= 0)
bt_st->drv = (const bluetooth_driver_t*)bluetooth_drivers[i]; bt_st->drv = (const bluetooth_driver_t*)bluetooth_drivers[i];
else else
{ {
if (verbosity_is_enabled()) if (verbosity_is_enabled())
{ {
unsigned d; unsigned d;
RARCH_ERR("Couldn't find any %s named \"%s\"\n", prefix, RARCH_ERR("Couldn't find any %s named \"%s\"\n", prefix,
settings->arrays.bluetooth_driver); settings->arrays.bluetooth_driver);
RARCH_LOG_OUTPUT("Available %ss are:\n", prefix); RARCH_LOG_OUTPUT("Available %ss are:\n", prefix);
for (d = 0; bluetooth_drivers[d]; d++) for (d = 0; bluetooth_drivers[d]; d++)
RARCH_LOG_OUTPUT("\t%s\n", bluetooth_drivers[d]->ident); RARCH_LOG_OUTPUT("\t%s\n", bluetooth_drivers[d]->ident);
RARCH_WARN("Going to default to first %s...\n", prefix); RARCH_WARN("Going to default to first %s...\n", prefix);
} }
bt_st->drv = (const bluetooth_driver_t*)bluetooth_drivers[0]; bt_st->drv = (const bluetooth_driver_t*)bluetooth_drivers[0];
if (!bt_st->drv) if (!bt_st->drv)
retroarch_fail(1, "find_bluetooth_driver()"); retroarch_fail(1, "find_bluetooth_driver()");
} }
} }
break; break;
case RARCH_BLUETOOTH_CTL_DEINIT: case RARCH_BLUETOOTH_CTL_DEINIT:
if (bt_st->data && bt_st->drv) if (bt_st->data && bt_st->drv)
{ {
if (bt_st->drv->free) if (bt_st->drv->free)
bt_st->drv->free(bt_st->data); bt_st->drv->free(bt_st->data);
} }
bt_st->data = NULL; bt_st->data = NULL;
bt_st->active = false; bt_st->active = false;
break; break;
case RARCH_BLUETOOTH_CTL_INIT: case RARCH_BLUETOOTH_CTL_INIT:
/* Resource leaks will follow if bluetooth is initialized twice. */ /* Resource leaks will follow if bluetooth is initialized twice. */
if (bt_st->data) if (bt_st->data)
return false; return false;
bluetooth_driver_ctl(RARCH_BLUETOOTH_CTL_FIND_DRIVER, NULL); bluetooth_driver_ctl(RARCH_BLUETOOTH_CTL_FIND_DRIVER, NULL);
if (bt_st->drv && bt_st->drv->init) if (bt_st->drv && bt_st->drv->init)
{ {
bt_st->active = true; bt_st->active = true;
bt_st->data = bt_st->drv->init(); bt_st->data = bt_st->drv->init();
if (!bt_st->data) if (!bt_st->data)
{ {
RARCH_ERR("Failed to initialize bluetooth driver. Will continue without bluetooth.\n"); RARCH_ERR("Failed to initialize bluetooth driver. Will continue without bluetooth.\n");
bt_st->active = false; bt_st->active = false;
} }
} }
else else
bt_st->active = false; bt_st->active = false;
break; break;
default: default:
break; break;
} }
return false; return false;
} }

View File

@ -1,146 +1,146 @@
/* RetroArch - A frontend for libretro. /* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2014 - Hans-Kristian Arntzen * Copyright (C) 2010-2014 - Hans-Kristian Arntzen
* Copyright (C) 2011-2021 - Daniel De Matteis * Copyright (C) 2011-2021 - Daniel De Matteis
* *
* RetroArch is free software: you can redistribute it and/or modify it under the terms * RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found- * of the GNU General Public License as published by the Free Software Found-
* ation, either version 3 of the License, or (at your option) any later version. * ation, either version 3 of the License, or (at your option) any later version.
* *
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details. * PURPOSE. See the GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License along with RetroArch. * You should have received a copy of the GNU General Public License along with RetroArch.
* If not, see <http://www.gnu.org/licenses/>. * If not, see <http://www.gnu.org/licenses/>.
*/ */
#include <stdint.h> #include <stdint.h>
#include <libretro.h> #include <libretro.h>
#include "../configuration.h" #include "../configuration.h"
#include "../driver.h" #include "../driver.h"
#include "../list_special.h" #include "../list_special.h"
#include "../runloop.h" #include "../runloop.h"
#include "../verbosity.h" #include "../verbosity.h"
#include "camera_driver.h" #include "camera_driver.h"
static void *nullcamera_init(const char *device, uint64_t caps, static void *nullcamera_init(const char *device, uint64_t caps,
unsigned width, unsigned height) { return (void*)-1; } unsigned width, unsigned height) { return (void*)-1; }
static void nullcamera_free(void *data) { } static void nullcamera_free(void *data) { }
static void nullcamera_stop(void *data) { } static void nullcamera_stop(void *data) { }
static bool nullcamera_start(void *data) { return true; } static bool nullcamera_start(void *data) { return true; }
static bool nullcamera_poll(void *a, static bool nullcamera_poll(void *a,
retro_camera_frame_raw_framebuffer_t b, retro_camera_frame_raw_framebuffer_t b,
retro_camera_frame_opengl_texture_t c) { return true; } retro_camera_frame_opengl_texture_t c) { return true; }
static camera_driver_t camera_null = { static camera_driver_t camera_null = {
nullcamera_init, nullcamera_init,
nullcamera_free, nullcamera_free,
nullcamera_start, nullcamera_start,
nullcamera_stop, nullcamera_stop,
nullcamera_poll, nullcamera_poll,
"null", "null",
}; };
const camera_driver_t *camera_drivers[] = { const camera_driver_t *camera_drivers[] = {
#ifdef HAVE_V4L2 #ifdef HAVE_V4L2
&camera_v4l2, &camera_v4l2,
#endif #endif
#ifdef EMSCRIPTEN #ifdef EMSCRIPTEN
&camera_rwebcam, &camera_rwebcam,
#endif #endif
#ifdef ANDROID #ifdef ANDROID
&camera_android, &camera_android,
#endif #endif
&camera_null, &camera_null,
NULL, NULL,
}; };
static camera_driver_state_t camera_driver_st; static camera_driver_state_t camera_driver_st = {0};
camera_driver_state_t *camera_state_get_ptr(void) camera_driver_state_t *camera_state_get_ptr(void)
{ {
return &camera_driver_st; return &camera_driver_st;
} }
/** /**
* config_get_camera_driver_options: * config_get_camera_driver_options:
* *
* Get an enumerated list of all camera driver names, * Get an enumerated list of all camera driver names,
* separated by '|'. * separated by '|'.
* *
* Returns: string listing of all camera driver names, * Returns: string listing of all camera driver names,
* separated by '|'. * separated by '|'.
**/ **/
const char *config_get_camera_driver_options(void) const char *config_get_camera_driver_options(void)
{ {
return char_list_new_special(STRING_LIST_CAMERA_DRIVERS, NULL); return char_list_new_special(STRING_LIST_CAMERA_DRIVERS, NULL);
} }
bool driver_camera_start(void) bool driver_camera_start(void)
{ {
camera_driver_state_t *camera_st = &camera_driver_st; camera_driver_state_t *camera_st = &camera_driver_st;
if ( camera_st if ( camera_st
&& camera_st->data && camera_st->data
&& camera_st->driver && camera_st->driver
&& camera_st->driver->start) && camera_st->driver->start)
{ {
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
bool camera_allow = settings->bools.camera_allow; bool camera_allow = settings->bools.camera_allow;
if (camera_allow) if (camera_allow)
return camera_st->driver->start(camera_st->data); return camera_st->driver->start(camera_st->data);
runloop_msg_queue_push( runloop_msg_queue_push(
"Camera is explicitly disabled.\n", 1, 180, false, "Camera is explicitly disabled.\n", 1, 180, false,
NULL, MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO); NULL, MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO);
} }
return true; return true;
} }
void driver_camera_stop(void) void driver_camera_stop(void)
{ {
camera_driver_state_t *camera_st = &camera_driver_st; camera_driver_state_t *camera_st = &camera_driver_st;
if ( camera_st->driver if ( camera_st->driver
&& camera_st->driver->stop && camera_st->driver->stop
&& camera_st->data) && camera_st->data)
camera_st->driver->stop(camera_st->data); camera_st->driver->stop(camera_st->data);
} }
bool camera_driver_find_driver(const char *prefix, bool camera_driver_find_driver(const char *prefix,
bool verbosity_enabled) bool verbosity_enabled)
{ {
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
camera_driver_state_t camera_driver_state_t
*camera_st = &camera_driver_st; *camera_st = &camera_driver_st;
int i = (int)driver_find_index( int i = (int)driver_find_index(
"camera_driver", "camera_driver",
settings->arrays.camera_driver); settings->arrays.camera_driver);
if (i >= 0) if (i >= 0)
camera_st->driver = (const camera_driver_t*)camera_drivers[i]; camera_st->driver = (const camera_driver_t*)camera_drivers[i];
else else
{ {
if (verbosity_enabled) if (verbosity_enabled)
{ {
unsigned d; unsigned d;
RARCH_ERR("Couldn't find any %s named \"%s\"\n", prefix, RARCH_ERR("Couldn't find any %s named \"%s\"\n", prefix,
settings->arrays.camera_driver); settings->arrays.camera_driver);
RARCH_LOG_OUTPUT("Available %ss are:\n", prefix); RARCH_LOG_OUTPUT("Available %ss are:\n", prefix);
for (d = 0; camera_drivers[d]; d++) for (d = 0; camera_drivers[d]; d++)
{ {
if (camera_drivers[d]) if (camera_drivers[d])
{ {
RARCH_LOG_OUTPUT("\t%s\n", camera_drivers[d]->ident); RARCH_LOG_OUTPUT("\t%s\n", camera_drivers[d]->ident);
} }
} }
RARCH_WARN("Going to default to first %s...\n", prefix); RARCH_WARN("Going to default to first %s...\n", prefix);
} }
if (!(camera_st->driver = (const camera_driver_t*)camera_drivers[0])) if (!(camera_st->driver = (const camera_driver_t*)camera_drivers[0]))
return false; return false;
} }
return true; return true;
} }

View File

@ -87,13 +87,13 @@ struct remote_joypad_message
uint16_t state; uint16_t state;
}; };
static float tilt_sensor_values[3];
static float gyro_sensor_values[3];
static bool keyboard_state[RETROK_LAST]; static bool keyboard_state[RETROK_LAST];
static bool keyboard_state_validated[RETROK_LAST]; static bool keyboard_state_validated[RETROK_LAST];
static bool tilt_sensor_enabled = false; static bool tilt_sensor_enabled = false;
static bool gyro_sensor_enabled = false; static bool gyro_sensor_enabled = false;
static bool lux_sensor_enabled = false; static bool lux_sensor_enabled = false;
static float tilt_sensor_values[3] = {0};
static float gyro_sensor_values[3] = {0};
static float lux_sensor_value = 0.0f; static float lux_sensor_value = 0.0f;
static unsigned mouse_type = 0; static unsigned mouse_type = 0;
static int pointer_x = 0; static int pointer_x = 0;
@ -727,7 +727,7 @@ static void retropad_update_input(void)
pointer_y = (int16_t)state; pointer_y = (int16_t)state;
} }
} }
/* Do not send extra descriptor state - RA side is not prepared to receive it */ /* Do not send extra descriptor state - RA side is not prepared to receive it */
if (i>1) if (i>1)
continue; continue;
@ -1034,7 +1034,7 @@ void NETRETROPAD_CORE_PREFIX(retro_run)(void)
sensor_item_colors[median_index] = (uint16_t)(fabsf(32*4*value)) << 11; sensor_item_colors[median_index] = (uint16_t)(fabsf(32*4*value)) << 11;
} }
} }
/* Button values for sensor test screen, since they do not follow any pattern, it is * /* Button values for sensor test screen, since they do not follow any pattern, it is *
* provided as a direct list. */ * provided as a direct list. */
if (mouse_type == NETRETROPAD_MOUSE) if (mouse_type == NETRETROPAD_MOUSE)
@ -1061,7 +1061,7 @@ void NETRETROPAD_CORE_PREFIX(retro_run)(void)
offset = DESC_OFFSET(&mouse, 0, 0, RETRO_DEVICE_ID_MOUSE_HORIZ_WHEELUP); offset = DESC_OFFSET(&mouse, 0, 0, RETRO_DEVICE_ID_MOUSE_HORIZ_WHEELUP);
sensor_item_colors[86] = mouse.value[offset] ? 0xA000 : 0x0000; sensor_item_colors[86] = mouse.value[offset] ? 0xA000 : 0x0000;
offset = DESC_OFFSET(&mouse, 0, 0, RETRO_DEVICE_ID_MOUSE_BUTTON_4); offset = DESC_OFFSET(&mouse, 0, 0, RETRO_DEVICE_ID_MOUSE_BUTTON_4);
sensor_item_colors[88] = mouse.value[offset] ? 0xA000 : 0x0000; sensor_item_colors[88] = mouse.value[offset] ? 0xA000 : 0x0000;
@ -1093,7 +1093,7 @@ void NETRETROPAD_CORE_PREFIX(retro_run)(void)
offset = DESC_OFFSET(&lightgun, 0, 0, RETRO_DEVICE_ID_LIGHTGUN_SELECT); offset = DESC_OFFSET(&lightgun, 0, 0, RETRO_DEVICE_ID_LIGHTGUN_SELECT);
sensor_item_colors[76] = lightgun.value[offset] ? 0xA000 : 0x0000; sensor_item_colors[76] = lightgun.value[offset] ? 0xA000 : 0x0000;
offset = DESC_OFFSET(&lightgun, 0, 0, RETRO_DEVICE_ID_LIGHTGUN_IS_OFFSCREEN); offset = DESC_OFFSET(&lightgun, 0, 0, RETRO_DEVICE_ID_LIGHTGUN_IS_OFFSCREEN);
sensor_item_colors[77] = lightgun.value[offset] ? 0xA000 : 0x0000; sensor_item_colors[77] = lightgun.value[offset] ? 0xA000 : 0x0000;
@ -1386,7 +1386,7 @@ void NETRETROPAD_CORE_PREFIX(retro_run)(void)
pointer_prev_y = pointer_y_coord; pointer_prev_y = pointer_y_coord;
} }
} }
NETRETROPAD_CORE_PREFIX(video_cb)(frame_buf, 320, 240, 640); NETRETROPAD_CORE_PREFIX(video_cb)(frame_buf, 320, 240, 640);
retro_sleep(4); retro_sleep(4);
} }

View File

@ -112,10 +112,10 @@ typedef enum
} CFDomainMask; } CFDomainMask;
#if (defined(OSX) && (MAC_OS_X_VERSION_MAX_ALLOWED >= 101200)) #if (defined(OSX) && (MAC_OS_X_VERSION_MAX_ALLOWED >= 101200))
static int speak_pid = 0; static int speak_pid = 0;
#endif #endif
static char darwin_cpu_model_name[64]; static char darwin_cpu_model_name[64] = {0};
static void CFSearchPathForDirectoriesInDomains( static void CFSearchPathForDirectoriesInDomains(
char *s, size_t len) char *s, size_t len)

View File

@ -81,7 +81,7 @@
#define MODULE_PATH "/data/self/system/common/lib/" #define MODULE_PATH "/data/self/system/common/lib/"
#define MODULE_PATH_EXT "/app0/sce_module/" #define MODULE_PATH_EXT "/app0/sce_module/"
static char eboot_path[512]; static char eboot_path[512] = {0};
SceKernelModule s_piglet_module; SceKernelModule s_piglet_module;
SceKernelModule s_shacc_module; SceKernelModule s_shacc_module;
@ -160,7 +160,7 @@ static void frontend_orbis_get_env(int *argc, char *argv[],
if (!string_is_empty(argv[CONTENT_PATH_ARG_INDEX])) if (!string_is_empty(argv[CONTENT_PATH_ARG_INDEX]))
{ {
static char path[PATH_MAX_LENGTH]; static char path[PATH_MAX_LENGTH] = {0};
struct rarch_main_wrap *args = struct rarch_main_wrap *args =
(struct rarch_main_wrap*)params_data; (struct rarch_main_wrap*)params_data;

View File

@ -50,10 +50,10 @@
#define DEFAULT_PARTITION "hdd0:__common:pfs" #define DEFAULT_PARTITION "hdd0:__common:pfs"
#endif #endif
static char mountPoint[50];
static char mountString[10];
static char cwd[FILENAME_MAX];
static enum frontend_fork ps2_fork_mode = FRONTEND_FORK_NONE; static enum frontend_fork ps2_fork_mode = FRONTEND_FORK_NONE;
static char cwd[FILENAME_MAX] = {0};
static char mountString[10] = {0};
static char mountPoint[50] = {0};
static enum HDD_MOUNT_STATUS hddMountStatus = HDD_MOUNT_INIT_STATUS_NOT_READY; static enum HDD_MOUNT_STATUS hddMountStatus = HDD_MOUNT_INIT_STATUS_NOT_READY;
static enum HDD_INIT_STATUS hddStatus = HDD_INIT_STATUS_UNKNOWN; static enum HDD_INIT_STATUS hddStatus = HDD_INIT_STATUS_UNKNOWN;
@ -265,7 +265,7 @@ static void frontend_ps2_get_env(int *argc, char *argv[],
#ifndef IS_SALAMANDER #ifndef IS_SALAMANDER
if (!string_is_empty(argv[1])) if (!string_is_empty(argv[1]))
{ {
static char path[FILENAME_MAX]; static char path[FILENAME_MAX] = {0};
struct rarch_main_wrap *args = struct rarch_main_wrap *args =
(struct rarch_main_wrap*)params_data; (struct rarch_main_wrap*)params_data;

View File

@ -81,8 +81,8 @@ PSP_MAIN_THREAD_ATTR(THREAD_ATTR_USER|THREAD_ATTR_VFPU);
unsigned int sceLibcHeapSize = SCE_LIBC_SIZE; unsigned int sceLibcHeapSize = SCE_LIBC_SIZE;
#endif #endif
static char eboot_path[512]; static char eboot_path[512] = {0};
static char user_path[512]; static char user_path[512] = {0};
static enum frontend_fork psp_fork_mode = FRONTEND_FORK_NONE; static enum frontend_fork psp_fork_mode = FRONTEND_FORK_NONE;
static void frontend_psp_get_env_settings(int *argc, char *argv[], static void frontend_psp_get_env_settings(int *argc, char *argv[],

View File

@ -124,7 +124,7 @@ static uint8_t g_platform_android_flags = 0;
#define PROC_ACPI_SYSFS_AC_ADAPTER_PATH "/sys/class/power_supply/ACAD" #define PROC_ACPI_SYSFS_AC_ADAPTER_PATH "/sys/class/power_supply/ACAD"
#define PROC_ACPI_SYSFS_BATTERY_PATH "/sys/class/power_supply" #define PROC_ACPI_SYSFS_BATTERY_PATH "/sys/class/power_supply"
#define PROC_ACPI_AC_ADAPTER_PATH "/proc/acpi/ac_adapter" #define PROC_ACPI_AC_ADAPTER_PATH "/proc/acpi/ac_adapter"
static char unix_cpu_model_name[64]; static char unix_cpu_model_name[64] = {0};
#endif #endif
/* /proc/meminfo parameters */ /* /proc/meminfo parameters */
@ -1366,7 +1366,7 @@ static void frontend_unix_get_env(int *argc,
if (android_app->getStringExtra && jstr) if (android_app->getStringExtra && jstr)
{ {
static char config_path[PATH_MAX_LENGTH]; static char config_path[PATH_MAX_LENGTH] = {0};
const char *argv = (*env)->GetStringUTFChars(env, jstr, 0); const char *argv = (*env)->GetStringUTFChars(env, jstr, 0);
if (argv && *argv) if (argv && *argv)

View File

@ -59,7 +59,7 @@ static void frontend_xdk_get_environment_settings(int *argc, char *argv[],
DWORD volume_device_type; DWORD volume_device_type;
#endif #endif
#ifndef IS_SALAMANDER #ifndef IS_SALAMANDER
static char path[PATH_MAX_LENGTH]; static char path[PATH_MAX_LENGTH] = {0};
#if defined(_XBOX1) #if defined(_XBOX1)
LAUNCH_DATA ptr; LAUNCH_DATA ptr;
DWORD launch_type; DWORD launch_type;

View File

@ -73,19 +73,18 @@ Colormap g_x11_cmap;
#ifdef HAVE_XF86VM #ifdef HAVE_XF86VM
static XF86VidModeModeInfo desktop_mode; static XF86VidModeModeInfo desktop_mode;
#endif #endif
static XConfigureEvent g_x11_xce; static bool xdg_screensaver_available = true;
static bool g_x11_has_focus = false;
static bool g_x11_true_full = false;
static XConfigureEvent g_x11_xce = {0};
static Atom XA_NET_WM_STATE; static Atom XA_NET_WM_STATE;
static Atom XA_NET_WM_STATE_FULLSCREEN; static Atom XA_NET_WM_STATE_FULLSCREEN;
static Atom XA_NET_MOVERESIZE_WINDOW; static Atom XA_NET_MOVERESIZE_WINDOW;
static Atom g_x11_quit_atom; static Atom g_x11_quit_atom;
static XIM g_x11_xim; static XIM g_x11_xim;
static XIC g_x11_xic; static XIC g_x11_xic;
static enum retro_key x11_keysym_lut[RETROK_LAST]; static enum retro_key x11_keysym_lut[RETROK_LAST];
static bool xdg_screensaver_available = true;
static bool g_x11_has_focus = false;
static bool g_x11_true_full = false;
static unsigned *x11_keysym_rlut = NULL; static unsigned *x11_keysym_rlut = NULL;
static unsigned x11_keysym_rlut_size = 0; static unsigned x11_keysym_rlut_size = 0;

View File

@ -39,7 +39,7 @@
/* TODO/FIXME - static globals */ /* TODO/FIXME - static globals */
static int psp2_model; static int psp2_model;
static SceCtrlPortInfo old_ctrl_info, curr_ctrl_info; static SceCtrlPortInfo old_ctrl_info, curr_ctrl_info;
static SceCtrlActuator actuators[DEFAULT_MAX_PADS]; static SceCtrlActuator actuators[DEFAULT_MAX_PADS] = {0};
#define LERP(p, f, t) ((((p * 10) * (t * 10)) / (f * 10)) / 10) #define LERP(p, f, t) ((((p * 10) * (t * 10)) / (f * 10)) / 10)
#define AREA(lx, ly, rx, ry, x, y) (lx <= x && x < rx && ly <= y && y < ry) #define AREA(lx, ly, rx, ry, x, y) (lx <= x && x < rx && ly <= y && y < ry)
@ -202,12 +202,12 @@ static int16_t psp_joypad_state(
const uint32_t joyaxis = (binds[i].joyaxis != AXIS_NONE) const uint32_t joyaxis = (binds[i].joyaxis != AXIS_NONE)
? binds[i].joyaxis : joypad_info->auto_binds[i].joyaxis; ? binds[i].joyaxis : joypad_info->auto_binds[i].joyaxis;
if ( if (
(uint16_t)joykey != NO_BTN (uint16_t)joykey != NO_BTN
&& (pad_state[port_idx] & (UINT64_C(1) << (uint16_t)joykey)) && (pad_state[port_idx] & (UINT64_C(1) << (uint16_t)joykey))
) )
ret |= ( 1 << i); ret |= ( 1 << i);
else if (joyaxis != AXIS_NONE && else if (joyaxis != AXIS_NONE &&
((float)abs(psp_joypad_axis_state(port_idx, joyaxis)) ((float)abs(psp_joypad_axis_state(port_idx, joyaxis))
/ 0x8000) > joypad_info->axis_threshold) / 0x8000) > joypad_info->axis_threshold)
ret |= (1 << i); ret |= (1 << i);
} }
@ -272,7 +272,7 @@ static void psp_joypad_poll(void)
SceCtrlData state_tmp; SceCtrlData state_tmp;
unsigned i = player; unsigned i = player;
#if defined(VITA) #if defined(VITA)
unsigned p = (psp2_model == SCE_KERNEL_MODEL_VITATV) unsigned p = (psp2_model == SCE_KERNEL_MODEL_VITATV)
? player + 1 : player; ? player + 1 : player;
if (curr_ctrl_info.port[p] == SCE_CTRL_TYPE_UNPAIRED) if (curr_ctrl_info.port[p] == SCE_CTRL_TYPE_UNPAIRED)
continue; continue;
@ -303,7 +303,7 @@ static void psp_joypad_poll(void)
unsigned i; unsigned i;
SceTouchData touch_surface = {0}; SceTouchData touch_surface = {0};
sceTouchPeek(input_backtouch_toggle sceTouchPeek(input_backtouch_toggle
? SCE_TOUCH_PORT_FRONT ? SCE_TOUCH_PORT_FRONT
: SCE_TOUCH_PORT_BACK, : SCE_TOUCH_PORT_BACK,
&touch_surface, 1); &touch_surface, 1);

View File

@ -198,7 +198,7 @@ struct audio_mixer_voice
}; };
/* TODO/FIXME - static globals */ /* TODO/FIXME - static globals */
static struct audio_mixer_voice s_voices[AUDIO_MIXER_MAX_VOICES]; static struct audio_mixer_voice s_voices[AUDIO_MIXER_MAX_VOICES] = {0};
static unsigned s_rate = 0; static unsigned s_rate = 0;
static void audio_mixer_release(audio_mixer_voice_t* voice); static void audio_mixer_release(audio_mixer_voice_t* voice);

View File

@ -115,8 +115,8 @@ int inet_pton(int af, const char *src, void *dst)
#elif defined(_XBOX) #elif defined(_XBOX)
struct hostent *gethostbyname(const char *name) struct hostent *gethostbyname(const char *name)
{ {
static struct in_addr addr; static struct in_addr addr = {0};
static struct hostent he; static struct hostent he = {0};
WSAEVENT event; WSAEVENT event;
XNDNS *dns = NULL; XNDNS *dns = NULL;
struct hostent *ret = NULL; struct hostent *ret = NULL;
@ -180,8 +180,8 @@ uint32_t inet_addr(const char *cp)
struct hostent *gethostbyname(const char *name) struct hostent *gethostbyname(const char *name)
{ {
static struct SceNetInAddr addr; static struct SceNetInAddr addr = {0};
static struct hostent he; static struct hostent he = {0};
int rid; int rid;
struct hostent *ret = NULL; struct hostent *ret = NULL;

View File

@ -31,7 +31,7 @@
#endif #endif
/* TODO/FIXME - static global variable */ /* TODO/FIXME - static global variable */
static cdrom_toc_t vfs_cdrom_toc; static cdrom_toc_t vfs_cdrom_toc = {0};
const cdrom_toc_t* retro_vfs_file_get_cdrom_toc(void) const cdrom_toc_t* retro_vfs_file_get_cdrom_toc(void)
{ {
@ -93,8 +93,8 @@ int64_t retro_vfs_file_seek_cdrom(
break; break;
case SEEK_END: case SEEK_END:
{ {
ssize_t pregap_lba_len = (vfs_cdrom_toc.track[stream->cdrom.cur_track - 1].audio ssize_t pregap_lba_len = (vfs_cdrom_toc.track[stream->cdrom.cur_track - 1].audio
? 0 ? 0
: (vfs_cdrom_toc.track[stream->cdrom.cur_track - 1].lba - vfs_cdrom_toc.track[stream->cdrom.cur_track - 1].lba_start)); : (vfs_cdrom_toc.track[stream->cdrom.cur_track - 1].lba - vfs_cdrom_toc.track[stream->cdrom.cur_track - 1].lba_start));
ssize_t lba_len = vfs_cdrom_toc.track[stream->cdrom.cur_track - 1].track_size - pregap_lba_len; ssize_t lba_len = vfs_cdrom_toc.track[stream->cdrom.cur_track - 1].track_size - pregap_lba_len;
#ifdef CDROM_DEBUG #ifdef CDROM_DEBUG
@ -153,7 +153,7 @@ void retro_vfs_file_open_cdrom(
stream->cdrom.cur_track = 1; stream->cdrom.cur_track = 1;
if ( !string_is_equal_noncase(ext, "cue") if ( !string_is_equal_noncase(ext, "cue")
&& !string_is_equal_noncase(ext, "bin")) && !string_is_equal_noncase(ext, "bin"))
return; return;
@ -231,7 +231,7 @@ void retro_vfs_file_open_cdrom(
size_t path_len = strlen(path); size_t path_len = strlen(path);
const char *ext = path_get_extension(path); const char *ext = path_get_extension(path);
if ( !string_is_equal_noncase(ext, "cue") if ( !string_is_equal_noncase(ext, "cue")
&& !string_is_equal_noncase(ext, "bin")) && !string_is_equal_noncase(ext, "bin"))
return; return;
@ -378,7 +378,7 @@ int64_t retro_vfs_file_read_cdrom(libretro_vfs_implementation_file *stream,
if (string_is_equal_noncase(ext, "cue")) if (string_is_equal_noncase(ext, "cue"))
{ {
if ((int64_t)len >= (int64_t)stream->cdrom.cue_len if ((int64_t)len >= (int64_t)stream->cdrom.cue_len
- stream->cdrom.byte_pos) - stream->cdrom.byte_pos)
len = stream->cdrom.cue_len - stream->cdrom.byte_pos - 1; len = stream->cdrom.cue_len - stream->cdrom.byte_pos - 1;
#ifdef CDROM_DEBUG #ifdef CDROM_DEBUG
@ -403,17 +403,17 @@ int64_t retro_vfs_file_read_cdrom(libretro_vfs_implementation_file *stream,
unsigned char rframe = 0; unsigned char rframe = 0;
size_t skip = stream->cdrom.byte_pos % 2352; size_t skip = stream->cdrom.byte_pos % 2352;
if (stream->cdrom.byte_pos >= if (stream->cdrom.byte_pos >=
vfs_cdrom_toc.track[stream->cdrom.cur_track - 1].track_bytes) vfs_cdrom_toc.track[stream->cdrom.cur_track - 1].track_bytes)
return 0; return 0;
if (stream->cdrom.byte_pos + len > if (stream->cdrom.byte_pos + len >
vfs_cdrom_toc.track[stream->cdrom.cur_track - 1].track_bytes) vfs_cdrom_toc.track[stream->cdrom.cur_track - 1].track_bytes)
len -= (stream->cdrom.byte_pos + len) len -= (stream->cdrom.byte_pos + len)
- vfs_cdrom_toc.track[stream->cdrom.cur_track - 1].track_bytes; - vfs_cdrom_toc.track[stream->cdrom.cur_track - 1].track_bytes;
cdrom_lba_to_msf(stream->cdrom.cur_lba, &min, &sec, &frame); cdrom_lba_to_msf(stream->cdrom.cur_lba, &min, &sec, &frame);
cdrom_lba_to_msf(stream->cdrom.cur_lba cdrom_lba_to_msf(stream->cdrom.cur_lba
- vfs_cdrom_toc.track[stream->cdrom.cur_track - 1].lba, - vfs_cdrom_toc.track[stream->cdrom.cur_track - 1].lba,
&rmin, &rsec, &rframe); &rmin, &rsec, &rframe);
@ -452,8 +452,8 @@ int64_t retro_vfs_file_read_cdrom(libretro_vfs_implementation_file *stream,
} }
stream->cdrom.byte_pos += len; stream->cdrom.byte_pos += len;
stream->cdrom.cur_lba = stream->cdrom.cur_lba =
vfs_cdrom_toc.track[stream->cdrom.cur_track - 1].lba vfs_cdrom_toc.track[stream->cdrom.cur_track - 1].lba
+ (stream->cdrom.byte_pos / 2352); + (stream->cdrom.byte_pos / 2352);
cdrom_lba_to_msf(stream->cdrom.cur_lba, cdrom_lba_to_msf(stream->cdrom.cur_lba,

View File

@ -61,7 +61,7 @@ typedef struct
unsigned nc; unsigned nc;
} webdav_state_t; } webdav_state_t;
static webdav_state_t webdav_driver_st; static webdav_state_t webdav_driver_st = {0};
webdav_state_t *webdav_state_get_ptr(void) webdav_state_t *webdav_state_get_ptr(void)
{ {

View File

@ -35,7 +35,7 @@ const cloud_sync_driver_t *cloud_sync_drivers[] = {
NULL NULL
}; };
static cloud_sync_driver_state_t cloud_sync_driver_st; static cloud_sync_driver_state_t cloud_sync_driver_st = {0};
cloud_sync_driver_state_t *cloud_sync_state_get_ptr(void) cloud_sync_driver_state_t *cloud_sync_state_get_ptr(void)
{ {

File diff suppressed because it is too large Load Diff

View File

@ -209,7 +209,7 @@ const mitm_server_t netplay_mitm_server_list[NETPLAY_MITM_SERVERS] = {
{ "custom", MENU_ENUM_LABEL_VALUE_NETPLAY_MITM_SERVER_LOCATION_CUSTOM } { "custom", MENU_ENUM_LABEL_VALUE_NETPLAY_MITM_SERVER_LOCATION_CUSTOM }
}; };
static net_driver_state_t networking_driver_st; static net_driver_state_t networking_driver_st = {0};
net_driver_state_t *networking_state_get_ptr(void) net_driver_state_t *networking_state_get_ptr(void)
{ {

View File

@ -91,7 +91,7 @@ struct netplay_crc_scan_data
char hostname[512]; char hostname[512];
}; };
static struct netplay_crc_scan_state scan_state; static struct netplay_crc_scan_state scan_state = {0};
static bool find_content_by_crc(playlist_config_t *playlist_config, static bool find_content_by_crc(playlist_config_t *playlist_config,
const struct string_list *playlists, uint32_t crc, const struct string_list *playlists, uint32_t crc,

View File

@ -87,7 +87,7 @@ static void task_netplay_lan_scan_callback(retro_task_t *task,
bool task_push_netplay_lan_scan(void (*cb)(const void*), unsigned timeout) bool task_push_netplay_lan_scan(void (*cb)(const void*), unsigned timeout)
{ {
static struct netplay_lan_scan_data data; static struct netplay_lan_scan_data data = {0};
retro_task_t *task; retro_task_t *task;
/* Do not run more than one LAN scan task at a time. */ /* Do not run more than one LAN scan task at a time. */

View File

@ -163,8 +163,8 @@ done:
static void task_netplay_nat_traversal_handler(retro_task_t *task) static void task_netplay_nat_traversal_handler(retro_task_t *task)
{ {
static struct natt_device device;
static struct natt_discovery discovery = {-1, -1}; static struct natt_discovery discovery = {-1, -1};
static struct natt_device device = {0};
struct nat_traversal_data *data = (struct nat_traversal_data*)task->task_data; struct nat_traversal_data *data = (struct nat_traversal_data*)task->task_data;
/* Try again on the next call. */ /* Try again on the next call. */