wok-next annotate id3lib/stuff/patches/60-add-c-wrapper-functions.patch @ rev 20646

grub2-efi: ls module embedded
author Pascal Bellard <pascal.bellard@slitaz.org>
date Wed May 02 11:12:13 2018 +0200 (2018-05-02)
parents
children
rev   line source
al@20357 1 This patch adds C wrapper functions for field encoding.
al@20357 2
al@20357 3 It was first introduced in version 3.8.3-8 and fixes
al@20357 4 http://bugs.debian.org/281292
al@20357 5 --- a/include/id3.h
al@20357 6 +++ b/include/id3.h
al@20357 7 @@ -104,6 +104,9 @@
al@20357 8 ID3_C_EXPORT void CCONV ID3Field_GetBINARY (const ID3Field *field, uchar *buffer, size_t buffLength);
al@20357 9 ID3_C_EXPORT void CCONV ID3Field_FromFile (ID3Field *field, const char *fileName);
al@20357 10 ID3_C_EXPORT void CCONV ID3Field_ToFile (const ID3Field *field, const char *fileName);
al@20357 11 + ID3_C_EXPORT bool CCONV ID3Field_SetEncoding (ID3Field *field, ID3_TextEnc enc);
al@20357 12 + ID3_C_EXPORT ID3_TextEnc CCONV ID3Field_GetEncoding (const ID3Field *field);
al@20357 13 + ID3_C_EXPORT bool CCONV ID3Field_IsEncodable (const ID3Field *field);
al@20357 14
al@20357 15 /* field-info wrappers */
al@20357 16 ID3_C_EXPORT char* CCONV ID3FrameInfo_ShortName (ID3_FrameID frameid);
al@20357 17 --- a/src/c_wrapper.cpp
al@20357 18 +++ b/src/c_wrapper.cpp
al@20357 19 @@ -681,6 +681,39 @@
al@20357 20 }
al@20357 21 }
al@20357 22
al@20357 23 + ID3_C_EXPORT bool CCONV
al@20357 24 + ID3Field_SetEncoding(ID3Field *field, ID3_TextEnc enc)
al@20357 25 + {
al@20357 26 + bool changed = false;
al@20357 27 + if (field)
al@20357 28 + {
al@20357 29 + ID3_CATCH(changed = reinterpret_cast<ID3_Field *>(field)->SetEncoding(enc));
al@20357 30 + }
al@20357 31 + return changed;
al@20357 32 + }
al@20357 33 +
al@20357 34 + ID3_C_EXPORT ID3_TextEnc CCONV
al@20357 35 + ID3Field_GetEncoding(const ID3Field *field)
al@20357 36 + {
al@20357 37 + ID3_TextEnc enc = ID3TE_NONE;
al@20357 38 + if (field)
al@20357 39 + {
al@20357 40 + ID3_CATCH(enc = reinterpret_cast<const ID3_Field *>(field)->GetEncoding());
al@20357 41 + }
al@20357 42 + return enc;
al@20357 43 + }
al@20357 44 +
al@20357 45 + ID3_C_EXPORT bool CCONV
al@20357 46 + ID3Field_IsEncodable(const ID3Field *field)
al@20357 47 + {
al@20357 48 + bool isEncodable = false;
al@20357 49 + if (field)
al@20357 50 + {
al@20357 51 + ID3_CATCH(isEncodable = reinterpret_cast<const ID3_Field *>(field)->IsEncodable());
al@20357 52 + }
al@20357 53 + return isEncodable;
al@20357 54 + }
al@20357 55 +
al@20357 56 #ifdef __cplusplus
al@20357 57 }
al@20357 58 #endif /* __cplusplus */