changeset 35871:8f49b68dd955

Add a function converting into locale encoding. This is for compatibility reasons, because the content of the history file will change from UTF-8 encoded filenames to filenames in their original byte sequence. (The cfg-old.c file is meant to save the user the effort of manually changing any settings or options that have become obsolete. The file will be subject to removal some day. It will be included where necessary.)
author ib
date Fri, 15 Mar 2013 03:42:57 +0000
parents 26ad65a4e47d
children 93ab56bda68a
files gui/app/cfg-old.c
diffstat 1 files changed, 44 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gui/app/cfg-old.c	Fri Mar 15 03:42:57 2013 +0000
@@ -0,0 +1,44 @@
+/*
+ * This file is part of MPlayer.
+ *
+ * MPlayer is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * MPlayer is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with MPlayer; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+/**
+ * @file
+ * @brief Translation of old settings or old configure options
+ */
+
+/**
+ * @brief Convert a filename which is either in UTF-8
+ *        or in an encoding specified in G_FILENAME_ENCODING.
+ *
+ * @param fname filename
+ *
+ * @return converted filename
+ */
+static const gchar *cfg_old_filename_from_utf8(const gchar *fname)
+{
+    static gchar *name;
+
+    if (g_utf8_validate(fname, -1, NULL)) {
+        free(name);
+        name = g_filename_from_utf8(fname, -1, NULL, NULL, NULL);
+
+        return name;
+    }
+
+    return fname;
+}