X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=plugins%2Fgnome%2Fintf_gnome.c;h=14a6afbd8324bb12c15dbb4bab3aa24b09618f07;hb=a70f8bb371466209770c4c3bcdb7137b94acef66;hp=6c4a67b9ee70d683a2f56ffd3aef360da22b8b15;hpb=7f1f24b3aa593a6c426a86e9b707b162372a1b9f;p=vlc diff --git a/plugins/gnome/intf_gnome.c b/plugins/gnome/intf_gnome.c index 6c4a67b9ee..14a6afbd83 100644 --- a/plugins/gnome/intf_gnome.c +++ b/plugins/gnome/intf_gnome.c @@ -2,7 +2,7 @@ * intf_gnome.c: Gnome interface ***************************************************************************** * Copyright (C) 1999, 2000 VideoLAN - * $Id: intf_gnome.c,v 1.33 2001/04/29 02:48:51 stef Exp $ + * $Id: intf_gnome.c,v 1.34 2001/05/01 04:18:18 sam Exp $ * * Authors: Samuel Hocevar * Stéphane Borel @@ -438,13 +438,14 @@ static gint GnomeLanguageMenus( gpointer p_data, gint i_cat, void(*pf_toggle )( GtkCheckMenuItem *, gpointer ) ) { +#define GNOME_LANGUAGE_MENU_SIZE 64 intf_thread_t * p_intf; GtkWidget * p_menu; GtkWidget * p_separator; GtkWidget * p_item; GtkWidget * p_item_active; GSList * p_group; - char psz_name[12]; + char psz_name[ GNOME_LANGUAGE_MENU_SIZE ]; gint i_item; gint i; @@ -463,7 +464,8 @@ static gint GnomeLanguageMenus( gpointer p_data, p_menu = gtk_menu_new(); /* special case for "off" item */ - sprintf( psz_name, "Off" ); + snprintf( psz_name, GNOME_LANGUAGE_MENU_SIZE, "Off" ); + psz_name[ GNOME_LANGUAGE_MENU_SIZE - 1 ] = '\0'; p_item = gtk_radio_menu_item_new_with_label( p_group, psz_name ); p_group = gtk_radio_menu_item_group( GTK_RADIO_MENU_ITEM( p_item ) ); @@ -494,7 +496,9 @@ static gint GnomeLanguageMenus( gpointer p_data, strcpy( psz_name, p_intf->p_input->stream.pp_es[i]->psz_desc ); if( psz_name[0] == '\0' ) { - sprintf( psz_name, "Language %d", i_item ); + snprintf( psz_name, GNOME_LANGUAGE_MENU_SIZE, + "Language %d", i_item ); + psz_name[ GNOME_LANGUAGE_MENU_SIZE - 1 ] = '\0'; } p_item = gtk_radio_menu_item_new_with_label( p_group, psz_name ); @@ -546,8 +550,9 @@ static gint GnomeLanguageMenus( gpointer p_data, static gint GnomeAngleMenu( gpointer p_data, GtkWidget * p_angle, void(*pf_toggle)( GtkCheckMenuItem *, gpointer ) ) { +#define GNOME_ANGLE_MENU_SIZE 64 intf_thread_t * p_intf; - char psz_name[12]; + char psz_name[ GNOME_ANGLE_MENU_SIZE ]; GtkWidget * p_angle_menu; GSList * p_angle_group; GtkWidget * p_item; @@ -570,7 +575,8 @@ static gint GnomeAngleMenu( gpointer p_data, GtkWidget * p_angle, i_angle < p_intf->p_input->stream.p_selected_area->i_angle_nb ; i_angle++ ) { - sprintf( psz_name, "Angle %d", i_angle + 1 ); + snprintf( psz_name, GNOME_ANGLE_MENU_SIZE, "Angle %d", i_angle + 1 ); + psz_name[ GNOME_ANGLE_MENU_SIZE - 1 ] = '\0'; p_item = gtk_radio_menu_item_new_with_label( p_angle_group, psz_name ); @@ -657,13 +663,17 @@ static gint GnomeChapterMenu( gpointer p_data, GtkWidget * p_chapter, gtk_menu_append( GTK_MENU( p_chapter_menu ), p_menu_item ); } - sprintf( psz_name, "%d - %d", i_chapter + 1, i_chapter + 10); + snprintf( psz_name, GNOME_ANGLE_MENU_SIZE, + "%d - %d", i_chapter + 1, i_chapter + 10); + psz_name[ GNOME_ANGLE_MENU_SIZE - 1 ] = '\0'; p_menu_item = gtk_menu_item_new_with_label( psz_name ); gtk_widget_show( p_menu_item ); p_chapter_submenu = gtk_menu_new(); } - sprintf( psz_name, "Chapter %d", i_chapter + 1 ); + snprintf( psz_name, GNOME_ANGLE_MENU_SIZE, + "Chapter %d", i_chapter + 1 ); + psz_name[ GNOME_ANGLE_MENU_SIZE - 1 ] = '\0'; p_item = gtk_radio_menu_item_new_with_label( p_chapter_group, psz_name ); @@ -732,8 +742,9 @@ static gint GnomeTitleMenu( gpointer p_data, GtkWidget * p_navigation, void(*pf_toggle )( GtkCheckMenuItem *, gpointer ) ) { +#define GNOME_TITLE_MENU_SIZE 64 intf_thread_t * p_intf; - char psz_name[12]; + char psz_name[ GNOME_TITLE_MENU_SIZE ]; GtkWidget * p_title_menu; GtkWidget * p_title_submenu; GtkWidget * p_title_item; @@ -780,13 +791,17 @@ static gint GnomeTitleMenu( gpointer p_data, gtk_menu_append( GTK_MENU( p_title_menu ), p_title_menu_item ); } - sprintf( psz_name, "%d - %d", i_title, i_title + 9 ); + snprintf( psz_name, GNOME_TITLE_MENU_SIZE, + "%d - %d", i_title, i_title + 9 ); + psz_name[ GNOME_TITLE_MENU_SIZE - 1 ] = '\0'; p_title_menu_item = gtk_menu_item_new_with_label( psz_name ); gtk_widget_show( p_title_menu_item ); p_title_submenu = gtk_menu_new(); } - sprintf( psz_name, "Title %d (%d)", i_title, p_intf->p_input->stream.pp_areas[i_title]->i_part_nb ); + snprintf( psz_name, GNOME_TITLE_MENU_SIZE, "Title %d (%d)", i_title, + p_intf->p_input->stream.pp_areas[i_title]->i_part_nb ); + psz_name[ GNOME_TITLE_MENU_SIZE - 1 ] = '\0'; if( pf_toggle == on_menubar_title_toggle ) { @@ -835,15 +850,18 @@ static gint GnomeTitleMenu( gpointer p_data, p_chapter_menu_item ); } - sprintf( psz_name, "%d - %d", i_chapter + 1, - i_chapter + 10); + snprintf( psz_name, GNOME_TITLE_MENU_SIZE, + "%d - %d", i_chapter + 1, i_chapter + 10 ); + psz_name[ GNOME_TITLE_MENU_SIZE - 1 ] = '\0'; p_chapter_menu_item = gtk_menu_item_new_with_label( psz_name ); gtk_widget_show( p_chapter_menu_item ); p_chapter_submenu = gtk_menu_new(); } - sprintf( psz_name, "Chapter %d", i_chapter + 1 ); + snprintf( psz_name, GNOME_TITLE_MENU_SIZE, + "Chapter %d", i_chapter + 1 ); + psz_name[ GNOME_TITLE_MENU_SIZE - 1 ] = '\0'; p_item = gtk_radio_menu_item_new_with_label( p_chapter_group, psz_name ); @@ -924,7 +942,6 @@ static gint GnomeTitleMenu( gpointer p_data, TRUE ); } - return TRUE; } @@ -947,14 +964,15 @@ static gint GnomeSetupMenu( intf_thread_t * p_intf ) if( p_intf->p_sys->b_title_update ) { - char psz_title[3]; + char psz_title[5]; p_menubar_menu = GTK_WIDGET( gtk_object_get_data( GTK_OBJECT( p_intf->p_sys->p_window ), "menubar_title" ) ); GnomeTitleMenu( p_intf, p_menubar_menu, on_menubar_title_toggle ); - snprintf( psz_title, 3, "%02d", + snprintf( psz_title, 5, "%d", p_intf->p_input->stream.p_selected_area->i_id ); + psz_title[ 4 ] = '\0'; gtk_label_set_text( p_intf->p_sys->p_label_title, psz_title ); p_intf->p_sys->b_title_update = 0; @@ -962,7 +980,7 @@ static gint GnomeSetupMenu( intf_thread_t * p_intf ) if( p_intf->p_sys->b_chapter_update ) { - char psz_chapter[3]; + char psz_chapter[5]; p_popup_menu = GTK_WIDGET( gtk_object_get_data( GTK_OBJECT( p_intf->p_sys->p_popup ), "popup_navigation" ) ); @@ -972,8 +990,9 @@ static gint GnomeSetupMenu( intf_thread_t * p_intf ) p_intf->p_sys->p_window ), "menubar_chapter" ) ); GnomeChapterMenu( p_intf, p_menubar_menu, on_menubar_chapter_toggle ); - snprintf( psz_chapter, 3, "%02d", + snprintf( psz_chapter, 5, "%d", p_intf->p_input->stream.p_selected_area->i_part ); + psz_chapter[ 4 ] = '\0'; gtk_label_set_text( p_intf->p_sys->p_label_chapter, psz_chapter ); p_intf->p_sys->i_part =