On Wed, Sep 21, 2022 at 11:18:17PM -0400, George Koehler wrote:
> On Thu, 22 Sep 2022 12:28:56 +1000
> Jonathan Gray <j...@jsg.id.au> wrote:
> 
> > On Wed, Sep 21, 2022 at 10:13:44PM -0400, George Koehler wrote:
> > This uses the compiler builtin __BYTE_ORDER__ instead of endian.h
> > BYTE_ORDER.
> > 
> > Both could be avoided by using htole32() instead.  Then the two
> > ifdefs could be removed as well.
> 
> My 1st patch used swap32; this 2nd patch uses le32toh and works
> equally well.  ok for either swap32 or le32toh?

change "Use <endian.h> on BE_ARCHS" to "Use <endian.h>"

I prefer the original name of letoh32().  Though that isn't always
available on other platforms which later did things differently.

so ok jsg@ on this version

> 
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/graphics/webp-pixbuf-loader/Makefile,v
> retrieving revision 1.1.1.1
> diff -u -p -r1.1.1.1 Makefile
> --- Makefile  12 Aug 2022 11:42:55 -0000      1.1.1.1
> +++ Makefile  22 Sep 2022 03:12:56 -0000
> @@ -3,6 +3,7 @@ COMMENT=              WebP GDK Pixbuf Loader library
>  GH_ACCOUNT=          aruiz
>  GH_PROJECT=          webp-pixbuf-loader
>  GH_TAGNAME=          0.0.6
> +REVISION=            0
>  
>  CATEGORIES=          graphics
>  
> Index: patches/patch-io-webp_c
> ===================================================================
> RCS file: patches/patch-io-webp_c
> diff -N patches/patch-io-webp_c
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-io-webp_c   22 Sep 2022 03:12:56 -0000
> @@ -0,0 +1,27 @@
> +Use <endian.h> on BE_ARCHS; OpenBSD doesn't have <byteswap.h>.
> +
> +Index: io-webp.c
> +--- io-webp.c.orig
> ++++ io-webp.c
> +@@ -12,9 +12,7 @@
> + 
> + #include "io-webp.h"
> + 
> +-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
> +-#include <byteswap.h>
> +-#endif
> ++#include <endian.h>
> + 
> + #define  IMAGE_READ_BUFFER_SIZE 65535
> + 
> +@@ -278,9 +276,7 @@ gdk_pixbuf__webp_anim_load_increment (gpointer      co
> +                 /* The next 4 bytes give the size of the webp container 
> less the 8 byte header. */
> +                 uint32_t anim_size = *(uint32_t *) (buf + 4); /* gives file 
> size not counting the first 8 bytes. */
> + 
> +-                #if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
> +-            anim_size = bswap_32(anim_size);
> +-                #endif
> ++            anim_size = le32toh(anim_size);
> + 
> +                 uint32_t file_size = anim_size + 8;
> +                 if (file_size < size) {
> 
> 

Reply via email to