aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2012-05-31 13:48:41 +0200
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2012-05-31 13:48:41 +0200
commit4b6749f0a21547677ac4f9b2ea55a31b25432183 (patch)
tree39dbc1d4022d2d0ccb3913e1eab102eef812d7a4
parent49d37756967e3eecae07ff6797bd76a655c6632c (diff)
downloadgtk-vlc-player-4b6749f0a21547677ac4f9b2ea55a31b25432183.tar.gz
added inline function for common task of stripping a filename extension
-rw-r--r--src/experiment-player.h15
-rw-r--r--src/format-selection.c8
-rw-r--r--src/quickopen.c10
3 files changed, 21 insertions, 12 deletions
diff --git a/src/experiment-player.h b/src/experiment-player.h
index a8f6e87..a7cda8a 100644
--- a/src/experiment-player.h
+++ b/src/experiment-player.h
@@ -1,6 +1,9 @@
#ifndef __EXPERIMENT_PLAYER_H
#define __EXPERIMENT_PLAYER_H
+#include <glib.h>
+#include <glib/gprintf.h>
+
#include <gtk/gtk.h>
gboolean load_media_file(const gchar *file);
@@ -40,4 +43,16 @@ extern GtkWidget *transcript_wizard_combo,
VAR = GTK_WIDGET(gtk_builder_get_object(BUILDER, #VAR)); \
} while (0)
+static inline gchar *
+path_strip_extension(const gchar *filename)
+{
+ gchar *ret = g_strdup(filename);
+ gchar *p;
+
+ if ((p = g_strrstr(ret, ".")) != NULL)
+ *p = '\0';
+
+ return ret;
+}
+
#endif \ No newline at end of file
diff --git a/src/format-selection.c b/src/format-selection.c
index 80fe7c3..fcbff24 100644
--- a/src/format-selection.c
+++ b/src/format-selection.c
@@ -134,16 +134,12 @@ refresh_formats_store(GtkListStore *store)
dir = g_dir_open(formats_directory, 0, NULL);
while ((name = g_dir_read_name(dir)) != NULL) {
- gchar *itemname, *p;
- gchar *fullname;
+ gchar *itemname, *fullname;
if (!g_pattern_match_string(pattern, name))
continue;
- itemname = g_strdup(name);
- if ((p = g_strrstr(itemname, ".")) != NULL)
- *p = '\0';
-
+ itemname = path_strip_extension(name);
fullname = g_build_filename(formats_directory, name, NULL);
gtk_list_store_append(store, &iter);
diff --git a/src/quickopen.c b/src/quickopen.c
index 636c100..30f089d 100644
--- a/src/quickopen.c
+++ b/src/quickopen.c
@@ -136,19 +136,17 @@ refresh_quickopen_menu(GtkMenu *menu)
if (!quickopen_filter(name))
continue;
- gchar *item_name, *p;
+ gchar *itemname;
GtkWidget *item;
fullnames = g_realloc(fullnames, (fullnames_n+2) * sizeof(gchar *));
fullnames[fullnames_n] = g_build_filename(quickopen_directory,
name, NULL);
- item_name = g_strdup(name);
- if ((p = g_strrstr(item_name, ".")) != NULL)
- *p = '\0';
- item = gtk_check_menu_item_new_with_label(item_name);
+ itemname = path_strip_extension(name);
+ item = gtk_check_menu_item_new_with_label(itemname);
g_ptr_array_add(items, item);
- g_free(item_name);
+ g_free(itemname);
gtk_check_menu_item_set_draw_as_radio(GTK_CHECK_MENU_ITEM(item),
TRUE);