aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2013-09-05 18:34:12 +0200
committerMax Kellermann <max@duempel.org>2013-09-05 18:34:12 +0200
commit5d5f21bfc5911f9f80b3e24871287ac58db9543f (patch)
tree3f218719baec92da5264266ffe33e313b82e43b9 /src
parentfcccedc5884a672eb66221d66fdda4755b4286ba (diff)
downloadmpd-5d5f21bfc5911f9f80b3e24871287ac58db9543f.tar.gz
mpd-5d5f21bfc5911f9f80b3e24871287ac58db9543f.tar.xz
mpd-5d5f21bfc5911f9f80b3e24871287ac58db9543f.zip
Tag: compile-time initialisation of ignore_tag_items
Move to TagSettings.c and use C99 initializers.
Diffstat (limited to 'src')
-rw-r--r--src/DatabaseSave.cxx2
-rw-r--r--src/Main.cxx2
-rw-r--r--src/TagPrint.cxx2
-rw-r--r--src/tag/Tag.cxx10
-rw-r--r--src/tag/Tag.hxx6
-rw-r--r--src/tag/TagConfig.cxx2
-rw-r--r--src/tag/TagSettings.c25
-rw-r--r--src/tag/TagSettings.h (renamed from src/tag/TagInternal.hxx)6
8 files changed, 33 insertions, 22 deletions
diff --git a/src/DatabaseSave.cxx b/src/DatabaseSave.cxx
index 100c9220e..780c404f3 100644
--- a/src/DatabaseSave.cxx
+++ b/src/DatabaseSave.cxx
@@ -26,7 +26,7 @@
#include "Song.hxx"
#include "TextFile.hxx"
#include "tag/Tag.hxx"
-#include "tag/TagInternal.hxx"
+#include "tag/TagSettings.h"
#include "fs/Path.hxx"
#include "util/Error.hxx"
diff --git a/src/Main.cxx b/src/Main.cxx
index 9ded73be5..a1138a908 100644
--- a/src/Main.cxx
+++ b/src/Main.cxx
@@ -38,7 +38,6 @@
#include "Partition.hxx"
#include "Volume.hxx"
#include "OutputAll.hxx"
-#include "tag/Tag.hxx"
#include "tag/TagConfig.hxx"
#include "replay_gain_config.h"
#include "Idle.hxx"
@@ -376,7 +375,6 @@ int mpd_main(int argc, char *argv[])
}
stats_global_init();
- tag_lib_init();
TagLoadConfig();
if (!log_init(options.verbose, options.log_stderr, error)) {
diff --git a/src/TagPrint.cxx b/src/TagPrint.cxx
index 3285d63db..e3c2c8c9e 100644
--- a/src/TagPrint.cxx
+++ b/src/TagPrint.cxx
@@ -20,7 +20,7 @@
#include "config.h"
#include "TagPrint.hxx"
#include "tag/Tag.hxx"
-#include "tag/TagInternal.hxx"
+#include "tag/TagSettings.h"
#include "Song.hxx"
#include "Client.hxx"
diff --git a/src/tag/Tag.cxx b/src/tag/Tag.cxx
index d0e44862d..24f3ea1e9 100644
--- a/src/tag/Tag.cxx
+++ b/src/tag/Tag.cxx
@@ -19,9 +19,9 @@
#include "config.h"
#include "Tag.hxx"
-#include "TagInternal.hxx"
#include "TagPool.hxx"
#include "TagString.hxx"
+#include "TagSettings.h"
#include <glib.h>
#include <assert.h>
@@ -40,8 +40,6 @@ static struct {
TagItem *items[BULK_MAX];
} bulk;
-bool ignore_tag_items[TAG_NUM_OF_ITEM_TYPES];
-
enum tag_type
tag_name_parse(const char *name)
{
@@ -78,12 +76,6 @@ items_size(const Tag &tag)
return tag.num_items * sizeof(TagItem *);
}
-void tag_lib_init(void)
-{
- /* ignore comments by default */
- ignore_tag_items[TAG_COMMENT] = true;
-}
-
void
Tag::Clear()
{
diff --git a/src/tag/Tag.hxx b/src/tag/Tag.hxx
index fc9ad0bbb..bfbebe671 100644
--- a/src/tag/Tag.hxx
+++ b/src/tag/Tag.hxx
@@ -186,10 +186,4 @@ tag_name_parse(const char *name);
enum tag_type
tag_name_parse_i(const char *name);
-/**
- * Initializes the tag library.
- */
-void
-tag_lib_init();
-
#endif
diff --git a/src/tag/TagConfig.cxx b/src/tag/TagConfig.cxx
index 22f7a64fa..9e47cd05b 100644
--- a/src/tag/TagConfig.cxx
+++ b/src/tag/TagConfig.cxx
@@ -19,7 +19,7 @@
#include "config.h"
#include "TagConfig.hxx"
-#include "TagInternal.hxx"
+#include "TagSettings.h"
#include "Tag.hxx"
#include "ConfigGlobal.hxx"
#include "ConfigOption.hxx"
diff --git a/src/tag/TagSettings.c b/src/tag/TagSettings.c
new file mode 100644
index 000000000..eb2db2ba5
--- /dev/null
+++ b/src/tag/TagSettings.c
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2003-2013 The Music Player Daemon Project
+ * http://www.musicpd.org
+ *
+ * This program 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.
+ *
+ * This program 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 this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#include "TagSettings.h"
+
+bool ignore_tag_items[TAG_NUM_OF_ITEM_TYPES] = {
+ /* ignore comments by default */
+ [TAG_COMMENT] = true,
+};
diff --git a/src/tag/TagInternal.hxx b/src/tag/TagSettings.h
index 8172d1319..245de2df5 100644
--- a/src/tag/TagInternal.hxx
+++ b/src/tag/TagSettings.h
@@ -17,11 +17,13 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#ifndef MPD_TAG_INTERNAL_HXX
-#define MPD_TAG_INTERNAL_HXX
+#ifndef MPD_TAG_SETTINGS_H
+#define MPD_TAG_SETTINGS_H
#include "TagType.h"
+#include <stdbool.h>
+
extern bool ignore_tag_items[TAG_NUM_OF_ITEM_TYPES];
#endif