- if( !strcmp( p_parser->psz_capability, "services_discovery" ) )
- {
- /* Check for submodules */
- int i = -1;
- while( p_parser->pp_shortcuts[++i] != NULL ); i--;
-
- /* Check whether to enable these menuitems */
- objectname = i>=0 ? (char *)p_parser->pp_shortcuts[i] : (char *)p_parser->psz_object_name;
- b_enabled = playlist_IsServicesDiscoveryLoaded( p_playlist, objectname );
-
- /* Create the menu entries used in the playlist menu */
- o_lmi = [[o_mi_services submenu] addItemWithTitle:
- [NSString stringWithUTF8String:
- p_parser->psz_longname ? p_parser->psz_longname :
- ( p_parser->psz_shortname ? p_parser->psz_shortname:
- objectname)]
- action: @selector(servicesChange:)
- keyEquivalent: @""];
- [o_lmi setTarget: self];
- [o_lmi setRepresentedObject: [NSString stringWithCString: objectname]];
- if( b_enabled ) [o_lmi setState: NSOnState];
-
- /* Create the menu entries for the main menu */
- o_lmi = [[o_mm_mi_services submenu] addItemWithTitle:
- [NSString stringWithUTF8String:
- p_parser->psz_longname ? p_parser->psz_longname :
- ( p_parser->psz_shortname ? p_parser->psz_shortname:
- objectname)]
- action: @selector(servicesChange:)
- keyEquivalent: @""];
- [o_lmi setTarget: self];
- [o_lmi setRepresentedObject: [NSString stringWithCString:objectname]];
- if( b_enabled ) [o_lmi setState: NSOnState];
- }
- }
- vlc_list_release( p_list );
- vlc_object_release( p_playlist );
+ char * name = ppsz_name[i] ? ppsz_name[i] : ppsz_services[i];
+ /* Check whether to enable these menuitems */
+ b_enabled = playlist_IsServicesDiscoveryLoaded( p_playlist, ppsz_services[i] );
+
+ /* Create the menu entries used in the playlist menu */
+ o_lmi = [[o_mi_services submenu] addItemWithTitle:
+ [NSString stringWithUTF8String: name]
+ action: @selector(servicesChange:)
+ keyEquivalent: @""];
+ [o_lmi setTarget: self];
+ [o_lmi setRepresentedObject: [NSString stringWithUTF8String: ppsz_services[i]]];
+ if( b_enabled ) [o_lmi setState: NSOnState];
+
+ /* Create the menu entries for the main menu */
+ o_lmi = [[o_mm_mi_services submenu] addItemWithTitle:
+ [NSString stringWithUTF8String: name]
+ action: @selector(servicesChange:)
+ keyEquivalent: @""];
+ [o_lmi setTarget: self];
+ [o_lmi setRepresentedObject: [NSString stringWithUTF8String: ppsz_services[i]]];
+ if( b_enabled ) [o_lmi setState: NSOnState];
+
+ free( ppsz_services[i] );
+ free( ppsz_name[i] );
+ }
+ free( ppsz_services );
+ free( ppsz_name );