The longname argument to macro #define VLC_SD_PROBE_HELPER(name, longname, cat)
is usually in the form like N_("some_longname"). Literalization of the argument by
doing # longname in the macro will result in a literal "N_(\"some_longname\")"
instead of translating the long name.
#define VLC_SD_PROBE_HELPER(name, longname, cat) \
static int vlc_sd_probe_Open (vlc_object_t *obj) \
{ \
#define VLC_SD_PROBE_HELPER(name, longname, cat) \
static int vlc_sd_probe_Open (vlc_object_t *obj) \
{ \
+ char psz_name[ strlen( name ) + strlen( longname ) + 20 ]; \
+ sprintf( psz_name, "%s{longname=\"%s\"}", name, longname ); \
return vlc_sd_probe_Add ((struct vlc_probe_t *)obj, \
return vlc_sd_probe_Add ((struct vlc_probe_t *)obj, \
- name "{longname=\"" # longname "\"}", \
- longname, cat); \
+ psz_name, longname, cat); \