Fixes to the device and machine configuration string getters and accordingly reverted the serial passthrough fix as well as it's no longer needed.

This commit is contained in:
OBattler
2025-02-12 05:18:12 +01:00
parent 0884f8d732
commit 90ba9eda08
3 changed files with 42 additions and 40 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 *