h = snd_dlopen(lib, RTLD_NOW);
if (h)
open_func = snd_dlsym(h, open_name, SND_DLSYM_VERSION(SND_HWDEP_DLSYM_VERSION));
+ err = 0;
if (!h) {
SNDERR("Cannot open shared library %s", lib);
err = -ENOENT;
_err:
if (type_conf)
snd_config_delete(type_conf);
- if (err >= 0)
- err = open_func(hwdep, name, hwdep_root, hwdep_conf, mode);
- if (err < 0)
- return err;
- return 0;
+ return err >= 0 ? open_func(hwdep, name, hwdep_root, hwdep_conf, mode) : err;
}
static int snd_hwdep_open_noupdate(snd_hwdep_t **hwdep, snd_config_t *root, const char *name, int mode)
continue;
}
SNDERR("Unknown field %s", id);
+ err = -EINVAL;
+ goto _err;
}
}
if (!open_name) {
_err:
if (type_conf)
snd_config_delete(type_conf);
- if (err >= 0)
- err = open_func(timer, name, timer_root, timer_conf, mode);
- if (err < 0)
- return err;
- return 0;
+ return err >= 0 ? open_func(timer, name, timer_root, timer_conf, mode) : err;
}
static int snd_timer_open_noupdate(snd_timer_t **timer, snd_config_t *root, const char *name, int mode)
h = snd_dlopen(lib, RTLD_NOW);
if (h)
open_func = snd_dlsym(h, open_name, SND_DLSYM_VERSION(SND_TIMER_QUERY_DLSYM_VERSION));
+ err = 0;
if (!h) {
SNDERR("Cannot open shared library %s", lib);
err = -ENOENT;
_err:
if (type_conf)
snd_config_delete(type_conf);
- if (err >= 0)
- err = open_func(timer, name, timer_root, timer_conf, mode);
- if (err < 0)
- return err;
- return 0;
+ return err >= 0 ? open_func(timer, name, timer_root, timer_conf, mode) : err;
}
static int snd_timer_query_open_noupdate(snd_timer_query_t **timer, snd_config_t *root, const char *name, int mode)