apply some of the backports from master here
[alioth/musescore.git] / debian / patches / upstream / synth-glitches.diff
1 Origin: upstream, commit:4253d779cf46b9a72e5b170b6f14dcc332c7d0d7
2 Author: Eric Fontaine <eric@ericfontainejazz.com>
3 Description: fix #291756 explicitly-signed char fluid pitchadj
4  C standards say that "char" may either be a "signed char" or "unsigned
5  char" but that it is up to the compilers implementation or the platform
6  which is followed. Some non x86 platforms, including PowerPC and ARM,
7  treat unspecified chars as unsigned chars, so it is necessary to
8  explicitly declare them as "signed char" (or to compile with
9  "--signed_chars").
10  .
11  This fix ensures that fluid synth's sample's pitchadj value are
12  correctly read as signed.
13
14 --- a/fluid/sfont.cpp
15 +++ b/fluid/sfont.cpp
16 @@ -811,9 +811,9 @@ unsigned char SFont::READB()
17  //   READC
18  //---------------------------------------------------------
19  
20 -char SFont::READC()
21 +signed char SFont::READC()
22        {
23 -      char var;
24 +      signed char var;
25        safe_fread(&var, 1);
26        return var;
27        }
28 --- a/fluid/sfont.h
29 +++ b/fluid/sfont.h
30 @@ -92,7 +92,7 @@ class SFont {
31        void FSKIP(int size)    {  return safe_fseek(size); }
32        void FSKIPW();
33        unsigned char READB();
34 -      char READC();
35 +      signed char READC();
36        void READSTR(char*);
37  
38        void safe_fread(void *buf, int count);