diff options
author | Max Kellermann <max@duempel.org> | 2013-09-26 18:14:58 +0200 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2013-09-26 18:14:58 +0200 |
commit | 04bc9005aeeebc7b1af90f74c4873b3a835d67ac (patch) | |
tree | ce819fc2ae6051816f3eba9341cb796fb3f62c25 /src | |
parent | 3c92c69bc7b0b216051d10a02536e566a27dea00 (diff) | |
download | mpd-04bc9005aeeebc7b1af90f74c4873b3a835d67ac.tar.gz mpd-04bc9005aeeebc7b1af90f74c4873b3a835d67ac.tar.xz mpd-04bc9005aeeebc7b1af90f74c4873b3a835d67ac.zip |
TagType: reduce the enum size to 1 byte
Reduce the TagItem overhead.
Diffstat (limited to 'src')
-rw-r--r-- | src/tag/TagItem.hxx | 2 | ||||
-rw-r--r-- | src/tag/TagType.h | 13 |
2 files changed, 13 insertions, 2 deletions
diff --git a/src/tag/TagItem.hxx b/src/tag/TagItem.hxx index f661a273b..a2924f2af 100644 --- a/src/tag/TagItem.hxx +++ b/src/tag/TagItem.hxx @@ -35,7 +35,7 @@ struct TagItem { /** * the value of this tag; this is a variable length string */ - char value[sizeof(long)]; + char value[sizeof(long) - sizeof(type)]; TagItem() = default; TagItem(const TagItem &other) = delete; diff --git a/src/tag/TagType.h b/src/tag/TagType.h index 8df595889..118d66a02 100644 --- a/src/tag/TagType.h +++ b/src/tag/TagType.h @@ -20,10 +20,21 @@ #ifndef MPD_TAG_TYPE_H #define MPD_TAG_TYPE_H +#ifdef __cplusplus +#include <stdint.h> +#endif + /** * Codes for the type of a tag item. */ -enum tag_type { +enum tag_type +#ifdef __cplusplus +/* the size of this enum is 1 byte; this is only relevant for C++ + code; the only C sources including this header don't use instances + of this enum, they only refer to the integer values */ +: uint8_t +#endif + { TAG_ARTIST, TAG_ARTIST_SORT, TAG_ALBUM, |