summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <wakeroid@gmail.com>2009-12-28 20:42:46 +0100
committerGravatar Alexey Yakovenko <wakeroid@gmail.com>2009-12-28 20:42:46 +0100
commitd2ca76c21c4e000e2f27a6376a1fea2dd50f8cf2 (patch)
tree0fd98469f88b9fb84908551c92c33bc3f1d56ff8 /plugins
parent04a379e7ea25c8d177dae83753cba6bba886b8d0 (diff)
auto-add .dbpl extension when saving playlist
Diffstat (limited to 'plugins')
-rw-r--r--plugins/gtkui/callbacks.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/plugins/gtkui/callbacks.c b/plugins/gtkui/callbacks.c
index f6545d5b..a1a6d05a 100644
--- a/plugins/gtkui/callbacks.c
+++ b/plugins/gtkui/callbacks.c
@@ -875,6 +875,21 @@ save_playlist_as (void) {
gtk_widget_destroy (dlg);
if (fname) {
+ // check extension and append .dbpl if none
+ size_t sz = strlen (fname);
+ char ext[] = ".dbpl";
+ const char *p = fname + sz - 1;
+ while (p > fname && *p != '/' && *p != '.') {
+ p--;
+ }
+ if (*p != '.') {
+ // extension not found
+ char *n = g_malloc (sz + sizeof (ext));
+ memcpy (n, fname, sz);
+ memcpy (n+sz, ext, sizeof (ext));
+ g_free (fname);
+ fname = n;
+ }
int res = deadbeef->pl_save (fname);
if (res >= 0 && strlen (fname) < 1024) {
strcpy (last_playlist_save_name, fname);