diff options
author | Alexey Yakovenko <wakeroid@gmail.com> | 2009-12-28 20:42:46 +0100 |
---|---|---|
committer | Alexey Yakovenko <wakeroid@gmail.com> | 2009-12-28 20:42:46 +0100 |
commit | d2ca76c21c4e000e2f27a6376a1fea2dd50f8cf2 (patch) | |
tree | 0fd98469f88b9fb84908551c92c33bc3f1d56ff8 /plugins | |
parent | 04a379e7ea25c8d177dae83753cba6bba886b8d0 (diff) |
auto-add .dbpl extension when saving playlist
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/gtkui/callbacks.c | 15 |
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); |