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 */ |