diff --git a/src/xfcetimer.c b/src/xfcetimer.c index 9f59673..3dc0c86 100644 --- a/src/xfcetimer.c +++ b/src/xfcetimer.c @@ -83,7 +83,7 @@ static gboolean update_function (gpointer data){ plugin_data *pd=(plugin_data *)data; gint elapsed_sec,remaining; - gchar tiptext[64]; + gchar *tiptext = NULL; GtkWidget *dialog; elapsed_sec=(gint)g_timer_elapsed(pd->timer,NULL); @@ -97,12 +97,12 @@ static gboolean update_function (gpointer data){ remaining=pd->timeout_period_in_sec-elapsed_sec; if(remaining>=3600) - g_snprintf(tiptext,31,_("%dh %dm %ds left"),remaining/3600, (remaining%3600)/60, + tiptext = g_strdup_printf(_("%dh %dm %ds left"),remaining/3600, (remaining%3600)/60, remaining%60); else if (remaining>=60) - g_snprintf(tiptext,31,_("%dm %ds left"),remaining/60, remaining%60); + tiptext = g_strdup_printf(_("%dm %ds left"),remaining/60, remaining%60); else - g_snprintf(tiptext,31,_("%ds left"),remaining); + tiptext = g_strdup_printf(_("%ds left"),remaining); if(pd->is_paused) g_strlcat(tiptext,_(" (Paused)"),64); @@ -112,6 +112,8 @@ static gboolean update_function (gpointer data){ gtk_tooltips_set_tip(pd->tip,GTK_WIDGET(pd->base),tiptext,NULL); + g_free(tiptext); + return TRUE; } @@ -394,7 +396,7 @@ void make_menu(plugin_data *pd){ GSList *group=NULL; GtkWidget *menuitem; gchar *timername,*timerinfo; - gchar itemtext[256]; + gchar *itemtext = NULL; gint row_count; @@ -436,7 +438,7 @@ void make_menu(plugin_data *pd){ /*g_fprintf(stderr,"\nMaking menuitem %d while selected is %d",row_count,pd-> selected);*/ gtk_tree_model_get(GTK_TREE_MODEL(pd->list),&iter,1,&timername,2,&timerinfo,-1); - g_snprintf(itemtext,255,"%s (%s)",timername,timerinfo); + itemtext = g_strdup_printf("%s (%s)",timername,timerinfo); menuitem=gtk_radio_menu_item_new_with_label(group,itemtext); gtk_widget_show(menuitem); g_free(timername); @@ -454,6 +456,7 @@ void make_menu(plugin_data *pd){ gtk_menu_shell_append(GTK_MENU_SHELL(pd->menu),menuitem); /*g_fprintf(stderr,"\nAdding menuitem with label : %s",itemtext);*/ + g_free(itemtext); /* We add the address of menuitem to the array */ g_array_append_val(pd->menuarray,menuitem); @@ -516,7 +519,7 @@ static void ok_add(GtkButton *button, gpointer data){ alarm_data *adata = (alarm_data *)data; GtkTreeIter iter; gint t1,t2,t3,t; - gchar timeinfo[16]; + gchar *timeinfo = NULL; /* Add item to the list */ gtk_list_store_append(adata->pd->list,&iter); @@ -541,11 +544,11 @@ static void ok_add(GtkButton *button, gpointer data){ gtk_list_store_set(GTK_LIST_STORE(adata->pd->list),&iter,5,t,-1); if(t1>0) - g_snprintf(timeinfo,15,_("%dh %dm %ds"),t1,t2,t3); + timeinfo = g_strdup_printf(_("%dh %dm %ds"),t1,t2,t3); else if(t2>0) - g_snprintf(timeinfo,15,_("%dm %ds"),t2,t3); + timeinfo = g_strdup_printf(_("%dm %ds"),t2,t3); else - g_snprintf(timeinfo,15,_("%ds"),t3); + timeinfo = g_strdup_printf(_("%ds"),t3); gtk_list_store_set(GTK_LIST_STORE(adata->pd->list),&iter,2,timeinfo,-1); } @@ -555,7 +558,7 @@ static void ok_add(GtkButton *button, gpointer data){ t2=gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(adata->time_m)); t=t1*60+t2; gtk_list_store_set(GTK_LIST_STORE(adata->pd->list),&iter,5,t,-1); - g_snprintf(timeinfo,9,_("At %02d:%02d"),t1,t2); + timeinfo = g_strdup_printf(_("At %02d:%02d"),t1,t2); gtk_list_store_set(GTK_LIST_STORE(adata->pd->list),&iter,2,timeinfo,-1); } @@ -567,6 +570,7 @@ static void ok_add(GtkButton *button, gpointer data){ gtk_widget_destroy(GTK_WIDGET(adata->window)); g_free(adata); + g_free(timeinfo); } @@ -593,7 +597,7 @@ static void ok_edit(GtkButton *button, gpointer data){ alarm_data *adata = (alarm_data *)data; GtkTreeIter iter; gint t1,t2,t3,t; - gchar timeinfo[10]; + gchar *timeinfo = NULL; GtkTreeSelection *select; GtkTreeModel *model; @@ -614,12 +618,12 @@ static void ok_edit(GtkButton *button, gpointer data){ t3=gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(adata->times)); t=t1*3600+t2*60+t3; gtk_list_store_set(GTK_LIST_STORE(adata->pd->list),&iter,5,t,-1); - if(t1>0) - g_snprintf(timeinfo,15,_("%dh %dm %ds"),t1,t2,t3); - else if(t2>0) - g_snprintf(timeinfo,15,_("%dm %ds"),t2,t3); - else - g_snprintf(timeinfo,15,_("%ds"),t3); + if(t1>0) + timeinfo = g_strdup_printf(_("%dh %dm %ds"),t1,t2,t3); + else if(t2>0) + timeinfo = g_strdup_printf(_("%dm %ds"),t2,t3); + else + timeinfo = g_strdup_printf(_("%ds"),t3); gtk_list_store_set(GTK_LIST_STORE(adata->pd->list),&iter,2,timeinfo,-1); } @@ -629,7 +633,7 @@ static void ok_edit(GtkButton *button, gpointer data){ t2=gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(adata->time_m)); t=t1*60+t2; gtk_list_store_set(GTK_LIST_STORE(adata->pd->list),&iter,5,t,-1); - g_snprintf(timeinfo,9,_("At %02d:%02d"),t1,t2); + timeinfo = g_strdup_printf(_("At %02d:%02d"),t1,t2); gtk_list_store_set(GTK_LIST_STORE(adata->pd->list),&iter,2,timeinfo,-1); } @@ -641,6 +645,7 @@ static void ok_edit(GtkButton *button, gpointer data){ gtk_widget_destroy(GTK_WIDGET(adata->window)); g_free(adata); + g_free(timeinfo); } /**