On Wed, Aug 28, 2013 at 03:38:29PM -0400, Simo Sorce wrote:
On Wed, 2013-08-28 at 19:33 +0200, Lukas Slebodnik wrote:
> On (28/08/13 13:11), Simo Sorce wrote:
> >On Wed, 2013-08-28 at 17:35 +0200, Lukas Slebodnik wrote:
> >> On (28/08/13 09:59), Simo Sorce wrote:
> >> >On Wed, 2013-08-28 at 15:31 +0200, Lukas Slebodnik wrote:
> >> >> +/* Endianness-compatibility for systems running older versions
of
> >> >> glibc */
> >> >> +
> >> >> +#ifndef le32toh
> >> >> +#ifdef HAVE_BYTESWAP_H
> >> >> +# include <byteswap.h>
> >> >> +#endif /* HAVE_BYTESWAP_H */
> >> >> +
> >> >> +/* support RHEL5 lack of definitions */
> >> >> +/* Copied from endian.h on glibc 2.15 */
> >> >> +#ifdef __USE_BSD
> >> >> +/* Conversion interfaces. */
> >> >> +# if __BYTE_ORDER == __LITTLE_ENDIAN
> >> >> +# define le32toh(x) (x)
> >> >> +# define htole32(x) (x)
> >> >> +# else
> >> >> +# define le32toh(x) __bswap_32 (x)
> >> >> +# define htole32(x) __bswap_32 (x)
> >> >> +# endif
> >> >> +#endif /* __USE_BSD */
> >> >> +
> >> >> +#endif /* le32toh */
> >> >> +
> >> >
> >> >If byteswap is not defined does the rest of the define work ?
> >> >
> >> >In the code you replace byteswap is included unconditionally as I
assume
> >> >it is the file that contains __BYTE_ORDER__ , __LITTLE_ENDIAN and
other
> >> >definitions needed to reimplement le32toh, so the if byteswap.h is not
> >> >available I guess the rest of the ifdef will just fail ?
> >> >
> >> >maybe you should have instead:
> >> >
> >> >#ifndef le32toh
> >> >#ifndef HAVE_BYTESWAP_H
> >> >#error missing le32toh and byteswap.h
> >> >#else
> >> >/* support RHEL5 lack of definitions */
> >> >...
> >> >...
> >> >#endif /* HAVE_BYTESWAP_H */
> >> >#endif /* le32toh */
> >> >
> >> Changed.
> >>
> >> I also changed patch with sss_strnlen
> >> from ++*len
> >> to (*len)++
> >>
> >> Updated patches are attached
> >
> >Unfortunately my example code fooled you and now the code is missing
> >#include <byteswap.h> completely, add it in the #else branch and you
> >have my ack.
> >
> >Simo.
>
> Sure, stupid mistake.
ACK
Simo.
Pushed all to master, sssd-1-10 and sssd-1-9 (as your BSD work is done
on top of sssd-1-9)