summaryrefslogtreecommitdiffstats
path: root/libraries/id3lib/patches/id3lib.c_wrapper.patch
diff options
context:
space:
mode:
author Dominik Drobek <dominik.drobek (at) o2.pl>2020-02-08 23:21:35 +0100
committer Willy Sudiarto Raharjo <willysr@slackbuilds.org>2020-02-09 21:52:05 +0700
commit36418881bda346f45c5be5cd9ced6601c853c080 (patch)
tree9fcff24a87b4d68cbe444532d6fc946180038dc7 /libraries/id3lib/patches/id3lib.c_wrapper.patch
parenta97cc7b79a7f7e25e7ea1655aeb0e24ec7118ec8 (diff)
downloadslackbuilds-36418881bda346f45c5be5cd9ced6601c853c080.tar.gz
slackbuilds-36418881bda346f45c5be5cd9ced6601c853c080.tar.xz
libraries/id3lib: use patches from Slackware-current
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'libraries/id3lib/patches/id3lib.c_wrapper.patch')
-rw-r--r--libraries/id3lib/patches/id3lib.c_wrapper.patch58
1 files changed, 58 insertions, 0 deletions
diff --git a/libraries/id3lib/patches/id3lib.c_wrapper.patch b/libraries/id3lib/patches/id3lib.c_wrapper.patch
new file mode 100644
index 0000000000..d72e81c0ec
--- /dev/null
+++ b/libraries/id3lib/patches/id3lib.c_wrapper.patch
@@ -0,0 +1,58 @@
+This patch adds C wrapper functions for field encoding.
+
+It was first introduced in version 3.8.3-8 and fixes
+http://bugs.debian.org/281292
+--- a/include/id3.h
++++ b/include/id3.h
+@@ -104,6 +104,9 @@
+ ID3_C_EXPORT void CCONV ID3Field_GetBINARY (const ID3Field *field, uchar *buffer, size_t buffLength);
+ ID3_C_EXPORT void CCONV ID3Field_FromFile (ID3Field *field, const char *fileName);
+ ID3_C_EXPORT void CCONV ID3Field_ToFile (const ID3Field *field, const char *fileName);
++ ID3_C_EXPORT bool CCONV ID3Field_SetEncoding (ID3Field *field, ID3_TextEnc enc);
++ ID3_C_EXPORT ID3_TextEnc CCONV ID3Field_GetEncoding (const ID3Field *field);
++ ID3_C_EXPORT bool CCONV ID3Field_IsEncodable (const ID3Field *field);
+
+ /* field-info wrappers */
+ ID3_C_EXPORT char* CCONV ID3FrameInfo_ShortName (ID3_FrameID frameid);
+--- a/src/c_wrapper.cpp
++++ b/src/c_wrapper.cpp
+@@ -681,6 +681,39 @@
+ }
+ }
+
++ ID3_C_EXPORT bool CCONV
++ ID3Field_SetEncoding(ID3Field *field, ID3_TextEnc enc)
++ {
++ bool changed = false;
++ if (field)
++ {
++ ID3_CATCH(changed = reinterpret_cast<ID3_Field *>(field)->SetEncoding(enc));
++ }
++ return changed;
++ }
++
++ ID3_C_EXPORT ID3_TextEnc CCONV
++ ID3Field_GetEncoding(const ID3Field *field)
++ {
++ ID3_TextEnc enc = ID3TE_NONE;
++ if (field)
++ {
++ ID3_CATCH(enc = reinterpret_cast<const ID3_Field *>(field)->GetEncoding());
++ }
++ return enc;
++ }
++
++ ID3_C_EXPORT bool CCONV
++ ID3Field_IsEncodable(const ID3Field *field)
++ {
++ bool isEncodable = false;
++ if (field)
++ {
++ ID3_CATCH(isEncodable = reinterpret_cast<const ID3_Field *>(field)->IsEncodable());
++ }
++ return isEncodable;
++ }
++
+ #ifdef __cplusplus
+ }
+ #endif /* __cplusplus */