control: Proper reference of internal versioned functions

The multiply defined versioned symbols have to be called with
INTERNAL() wrapper.

Add the missing declarations of the internal forms of
snd_ctl_elem_info_get_dimension*() in the local header, and use them
in the (still remaining) callers in alisp.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Takashi Iwai 2018-01-04 15:20:58 +01:00
parent dc68f69a66
commit d4e08c5e86
2 changed files with 7 additions and 2 deletions

View file

@ -575,12 +575,12 @@ static struct alisp_object * FA_hctl_elem_info(struct alisp_instance * instance,
p1 = add_cons(instance, p1, 1, "isowner", new_integer(instance, snd_ctl_elem_info_is_owner(&info)));
p1 = add_cons(instance, p1, 1, "owner", new_integer(instance, snd_ctl_elem_info_get_owner(&info)));
p1 = add_cons(instance, p1, 1, "count", new_integer(instance, snd_ctl_elem_info_get_count(&info)));
err = snd_ctl_elem_info_get_dimensions(&info);
err = INTERNAL(snd_ctl_elem_info_get_dimensions)(&info);
if (err > 0) {
int idx;
p1 = add_cons(instance, p1, 1, "dimensions", p2 = new_object(instance, ALISP_OBJ_CONS));
for (idx = 0; idx < err; idx++)
p2 = add_cons2(instance, p2, idx > 0, new_integer(instance, snd_ctl_elem_info_get_dimension(&info, idx)));
p2 = add_cons2(instance, p2, idx > 0, new_integer(instance, INTERNAL(snd_ctl_elem_info_get_dimension)(&info, idx)));
}
switch (type) {
case SND_CTL_ELEM_TYPE_ENUMERATED: {

View file

@ -100,3 +100,8 @@ int snd_ctl_shm_open(snd_ctl_t **handlep, const char *name, const char *sockname
int snd_ctl_async(snd_ctl_t *ctl, int sig, pid_t pid);
#define CTLINABORT(x) ((x)->nonblock == 2)
#ifdef INTERNAL
int INTERNAL(snd_ctl_elem_info_get_dimensions)(const snd_ctl_elem_info_t *obj);
int INTERNAL(snd_ctl_elem_info_get_dimension)(const snd_ctl_elem_info_t *obj, unsigned int idx);
#endif /* INTERNAL */