wok-next diff 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
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/id3lib/stuff/patches/60-add-c-wrapper-functions.patch	Wed May 02 11:12:13 2018 +0200
     1.3 @@ -0,0 +1,58 @@
     1.4 +This patch adds C wrapper functions for field encoding.
     1.5 +
     1.6 +It was first introduced in version 3.8.3-8 and fixes
     1.7 +http://bugs.debian.org/281292
     1.8 +--- a/include/id3.h
     1.9 ++++ b/include/id3.h
    1.10 +@@ -104,6 +104,9 @@
    1.11 +   ID3_C_EXPORT void                 CCONV ID3Field_GetBINARY          (const ID3Field *field, uchar *buffer, size_t buffLength);
    1.12 +   ID3_C_EXPORT void                 CCONV ID3Field_FromFile           (ID3Field *field, const char *fileName);
    1.13 +   ID3_C_EXPORT void                 CCONV ID3Field_ToFile             (const ID3Field *field, const char *fileName);
    1.14 ++  ID3_C_EXPORT bool                 CCONV ID3Field_SetEncoding        (ID3Field *field, ID3_TextEnc enc);
    1.15 ++  ID3_C_EXPORT ID3_TextEnc          CCONV ID3Field_GetEncoding        (const ID3Field *field);
    1.16 ++  ID3_C_EXPORT bool                 CCONV ID3Field_IsEncodable        (const ID3Field *field);
    1.17 + 
    1.18 +   /* field-info wrappers */
    1.19 +   ID3_C_EXPORT char*                CCONV ID3FrameInfo_ShortName     (ID3_FrameID frameid);
    1.20 +--- a/src/c_wrapper.cpp
    1.21 ++++ b/src/c_wrapper.cpp
    1.22 +@@ -681,6 +681,39 @@
    1.23 +     }
    1.24 +   }
    1.25 + 
    1.26 ++  ID3_C_EXPORT bool CCONV
    1.27 ++  ID3Field_SetEncoding(ID3Field *field, ID3_TextEnc enc)
    1.28 ++  {
    1.29 ++    bool changed = false;
    1.30 ++    if (field)
    1.31 ++    {
    1.32 ++      ID3_CATCH(changed = reinterpret_cast<ID3_Field *>(field)->SetEncoding(enc));
    1.33 ++    }
    1.34 ++    return changed;
    1.35 ++  }
    1.36 ++
    1.37 ++  ID3_C_EXPORT ID3_TextEnc CCONV
    1.38 ++  ID3Field_GetEncoding(const ID3Field *field)
    1.39 ++  {
    1.40 ++    ID3_TextEnc enc = ID3TE_NONE;
    1.41 ++    if (field)
    1.42 ++    {
    1.43 ++      ID3_CATCH(enc = reinterpret_cast<const ID3_Field *>(field)->GetEncoding());
    1.44 ++    }
    1.45 ++    return enc;
    1.46 ++  }
    1.47 ++
    1.48 ++  ID3_C_EXPORT bool CCONV
    1.49 ++  ID3Field_IsEncodable(const ID3Field *field)
    1.50 ++  {
    1.51 ++    bool isEncodable = false;
    1.52 ++    if (field)
    1.53 ++    {
    1.54 ++      ID3_CATCH(isEncodable = reinterpret_cast<const ID3_Field *>(field)->IsEncodable());
    1.55 ++    }
    1.56 ++    return isEncodable;
    1.57 ++  }
    1.58 ++
    1.59 + #ifdef __cplusplus
    1.60 + }
    1.61 + #endif /* __cplusplus */