]> git.sesse.net Git - vlc/commitdiff
services_discovery: fix embedding longname in name, take 2
authorJakob Leben <jleben@videolan.org>
Wed, 10 Feb 2010 01:30:12 +0000 (02:30 +0100)
committerJakob Leben <jleben@videolan.org>
Wed, 10 Feb 2010 01:30:12 +0000 (02:30 +0100)
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.

include/vlc_services_discovery.h

index a974a534937d8162b56531e3dee98743999ffd05..9911f6af9fe09e3b03e01dfe4c8503be90cb6382 100644 (file)
@@ -109,9 +109,10 @@ VLC_EXPORT(int, vlc_sd_probe_Add, (vlc_probe_t *, const char *, const char *, in
 #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, \
-                             name "{longname=\"" # longname "\"}", \
-                             longname, cat); \
+                             psz_name, longname, cat); \
 }
 
 /** @} */