[Debian-hebrew-package] Bug#751503: fribidi: Parameter declarations of function fribidi_get_bidi_type differ in signedness
mt at debian.org
Fri Aug 15 22:57:34 UTC 2014
My apologies for taking so long to get back to you.
> > This build failed on which arch. ?
> This is on an amd64 system.
> > In both files I see the declaration is the same:
> > FRIBIDI_ENTRY FriBidiCharType
> > fribidi_get_bidi_type (
> > FriBidiChar ch /* input character */
> > ) FRIBIDI_GNUC_CONST;
> > FriBidiChar is defined in lib/fribidi-types.h:
> > typedef FRIBIDI_UNICHAR FriBidiChar;
> > in the same header file, FRIBIDI_UNICHAR is defined as follows:
> > #ifndef FRIBIDI_UNICHAR
> > # define FRIBIDI_UNICHAR FRIBIDI_UNICHAR_LOCAL
> > #endif /* !FRIBIDI_UNICHAR */
> > FRIBIDI_UNICHAR_LOCAL is also defined in lib/fribidi-types.h (a 59 lines
> > piece of code)
> Well, there are actually three possible definitions here (lines 52, 95, 98):
> I will, however, investigate further to check which of the preprocessor macros
> kicks in. I will get back to you once this is done.
Looking into this indeed two different definitions of FRIBIDI_UNICHAR_LOCAL are
being picked up.
In lib/.libs/fribidi-bidi-types.o, FRIBIDI_UNICHAR_LOCAL expands to wchar_t
(from line 95), whereas in bin/fribidi-bidi-types.o, FRIBIDI_UNICHAR_LOCAL
expands to fribidi_uint32 (from line 97).
This difference is caused by SIZEOF_WCHAR_T being undefined (!) in
bin/fribidi-bidi-types.o. This, again, is the result of bin/fribidi-bidi-types.c
not actually including config.h, whereas lib/fribidi-bidi-types.c would include
lib/common.h, when eventually does include config.h.
It seems the problem would best be fixed by uniformly having
# include <config.h>
as first preprocessor directive in every .c file (this is taken from common.h).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 859 bytes
Desc: not available
More information about the Debian-hebrew-package