Merge remote-tracking branch 'origin/master' into cdrom_changes

This commit is contained in:
OBattler
2025-02-12 05:18:42 +01:00
3 changed files with 33 additions and 20 deletions

View File

@@ -637,16 +637,24 @@ device_get_instance(void)
const char *
device_get_config_string(const char *str)
{
const device_config_t *cfg = device_current.dev->config;
const char *ret = "";
while (cfg && cfg->type != CONFIG_END) {
if (!strcmp(str, cfg->name))
return (config_get_string((char *) device_current.name, (char *) str, (char *) cfg->default_string));
if (device_current.dev != NULL) {
const device_config_t *cfg = device_current.dev->config;
cfg++;
while ((cfg != NULL) && (cfg->type != CONFIG_END)) {
if (!strcmp(str, cfg->name)) {
const char *s = (config_get_string((char *) device_current.name,
(char *) str, (char *) cfg->default_string));
ret = (s == NULL) ? "" : s;
break;
}
cfg++;
}
}
return (NULL);
return ret;
}
int
@@ -870,24 +878,29 @@ machine_get_config_int(char *str)
return 0;
}
char *
const char *
machine_get_config_string(char *str)
{
const device_t *dev = machine_get_device(machine);
const device_config_t *cfg;
const device_t *dev = machine_get_device(machine);
const char *ret = "";
if (dev == NULL)
return 0;
if (dev != NULL) {
const device_config_t *cfg;
cfg = dev->config;
while (cfg && cfg->type != CONFIG_END) {
if (!strcmp(str, cfg->name))
return (config_get_string((char *) dev->name, str, (char *) cfg->default_string));
cfg = dev->config;
while ((cfg != NULL) && (cfg->type != CONFIG_END)) {
if (!strcmp(str, cfg->name)) {
const char *s = config_get_string((char *) dev->name, str,
(char *) cfg->default_string);
ret = (s == NULL) ? "" : s;
break;
}
cfg++;
cfg++;
}
}
return NULL;
return ret;
}
const device_t *

View File

@@ -260,7 +260,7 @@ static const device_config_t serial_passthrough_config[] = {
.name = "host_serial_path",
.description = "Host Serial Device",
.type = CONFIG_SERPORT,
.default_string = "",
.default_string = NULL,
.default_int = 0,
.file_filter = NULL,
.spinner = { 0 },

View File

@@ -231,8 +231,8 @@ extern int device_get_instance(void);
extern const char *device_get_internal_name(const device_t *dev);
extern int machine_get_config_int(char *str);
extern char *machine_get_config_string(char *str);
extern int machine_get_config_int(char *str);
extern const char *machine_get_config_string(char *str);
extern const device_t device_none;
extern const device_t device_internal;