[alsa-devel] [PATCH] salsa-lib: Fix error on jack compilation with salsa

Fix error on jack compilation with salsa: /usr/include/alsa/ctl_macros.h:251:48: error: invalid conversion from 'void*' to 'snd_ctl_elem_id_t* {aka snd_ctl_elem_id*}' [-fpermissive]
--- salsa-lib-a55ce0c348cd16e7853dae11e8e0e1b5a101d884/src/ctl_macros.h +++ salsa-lib-a55ce0c348cd16e7853dae11e8e0e1b5a101d884-1/src/ctl_macros.h @@ -248,7 +248,7 @@ unsigned int entries) { free(obj->pids); - obj->pids = calloc(entries, sizeof(*obj->pids)); + obj->pids = (snd_ctl_elem_id_t*)calloc(entries, sizeof(*obj->pids)); if (!obj->pids) { obj->space = 0; return -ENOMEM;

At Sun, 17 Mar 2013 15:13:00 +0000, Mihail Zenkov wrote:
Fix error on jack compilation with salsa: /usr/include/alsa/ctl_macros.h:251:48: error: invalid conversion from 'void*' to 'snd_ctl_elem_id_t* {aka snd_ctl_elem_id*}' [-fpermissive]
I don't get it. Is it C++? But I thought the code is in extern "C" region?
Takashi
--- salsa-lib-a55ce0c348cd16e7853dae11e8e0e1b5a101d884/src/ctl_macros.h +++ salsa-lib-a55ce0c348cd16e7853dae11e8e0e1b5a101d884-1/src/ctl_macros.h @@ -248,7 +248,7 @@ unsigned int entries) { free(obj->pids);
- obj->pids = calloc(entries, sizeof(*obj->pids));
- obj->pids = (snd_ctl_elem_id_t*)calloc(entries, sizeof(*obj->pids)); if (!obj->pids) { obj->space = 0; return -ENOMEM;
Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

On 03/20/2013 09:37 AM, Takashi Iwai wrote:
At Sun, 17 Mar 2013 15:13:00 +0000, Mihail Zenkov wrote:
Fix error on jack compilation with salsa: /usr/include/alsa/ctl_macros.h:251:48: error: invalid conversion from 'void*' to 'snd_ctl_elem_id_t* {aka snd_ctl_elem_id*}' [-fpermissive]
I don't get it. Is it C++? But I thought the code is in extern "C" region?
Yes, it's C++. 'extern "C"' only declares the linkage convention. It does not affect casting rules/conventions.
-gabriel

At Sat, 30 Mar 2013 12:11:27 -0700, Gabriel M. Beddingfield wrote:
On 03/20/2013 09:37 AM, Takashi Iwai wrote:
At Sun, 17 Mar 2013 15:13:00 +0000, Mihail Zenkov wrote:
Fix error on jack compilation with salsa: /usr/include/alsa/ctl_macros.h:251:48: error: invalid conversion from 'void*' to 'snd_ctl_elem_id_t* {aka snd_ctl_elem_id*}' [-fpermissive]
I don't get it. Is it C++? But I thought the code is in extern "C" region?
Yes, it's C++. 'extern "C"' only declares the linkage convention. It does not affect casting rules/conventions.
Ah, I see.
I seem to have lost the original patch... Mihail, could you resend it?
thanks,
Takashi

Fix error on jack compilation with salsa: /usr/include/alsa/ctl_macros.h:251:48: error: invalid conversion from 'void*' to 'snd_ctl_elem_id_t* {aka snd_ctl_elem_id*}' [-fpermissive]
--- salsa-lib-a55ce0c348cd16e7853dae11e8e0e1b5a101d884/src/ctl_macros.h +++ salsa-lib-a55ce0c348cd16e7853dae11e8e0e1b5a101d884-1/src/ctl_macros.h @@ -248,7 +248,7 @@ unsigned int entries) { free(obj->pids); - obj->pids = calloc(entries, sizeof(*obj->pids)); + obj->pids = (snd_ctl_elem_id_t*)calloc(entries, sizeof(*obj->pids)); if (!obj->pids) { obj->space = 0; return -ENOMEM;

At Tue, 2 Apr 2013 11:59:20 +0000, Mihail Zenkov wrote:
Fix error on jack compilation with salsa: /usr/include/alsa/ctl_macros.h:251:48: error: invalid conversion from 'void*' to 'snd_ctl_elem_id_t* {aka snd_ctl_elem_id*}' [-fpermissive]
Thanks, applied.
Takashi
--- salsa-lib-a55ce0c348cd16e7853dae11e8e0e1b5a101d884/src/ctl_macros.h +++ salsa-lib-a55ce0c348cd16e7853dae11e8e0e1b5a101d884-1/src/ctl_macros.h @@ -248,7 +248,7 @@ unsigned int entries) { free(obj->pids);
- obj->pids = calloc(entries, sizeof(*obj->pids));
- obj->pids = (snd_ctl_elem_id_t*)calloc(entries, sizeof(*obj->pids)); if (!obj->pids) { obj->space = 0; return -ENOMEM;
participants (3)
-
Gabriel M. Beddingfield
-
Mihail Zenkov
-
Takashi Iwai