Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package xwallpaper for openSUSE:Factory 
checked in at 2022-07-01 13:45:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xwallpaper (Old)
 and      /work/SRC/openSUSE:Factory/.xwallpaper.new.1548 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xwallpaper"

Fri Jul  1 13:45:01 2022 rev:3 rq:986069 version:0.7.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/xwallpaper/xwallpaper.changes    2022-06-05 
21:28:13.865022200 +0200
+++ /work/SRC/openSUSE:Factory/.xwallpaper.new.1548/xwallpaper.changes  
2022-07-01 13:45:31.678949793 +0200
@@ -1,0 +2,6 @@
+Thu Jun 30 12:40:24 UTC 2022 - Tomasz Ho??ubowicz <alternate...@pm.me>
+
+- Update to version 0.7.4
+  * Extended sandbox for more Linux setups
+
+-------------------------------------------------------------------

Old:
----
  xwallpaper-0.7.3.tar.xz

New:
----
  xwallpaper-0.7.4.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xwallpaper.spec ++++++
--- /var/tmp/diff_new_pack.FusiU2/_old  2022-07-01 13:45:32.102950429 +0200
+++ /var/tmp/diff_new_pack.FusiU2/_new  2022-07-01 13:45:32.106950435 +0200
@@ -18,7 +18,7 @@
 
 
 Name:           xwallpaper
-Version:        0.7.3
+Version:        0.7.4
 Release:        0
 Summary:        Wallpaper setting utility for X
 License:        ISC

++++++ xwallpaper-0.7.3.tar.xz -> xwallpaper-0.7.4.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xwallpaper-0.7.3/LICENSE new/xwallpaper-0.7.4/LICENSE
--- old/xwallpaper-0.7.3/LICENSE        2021-02-06 22:52:15.000000000 +0100
+++ new/xwallpaper-0.7.4/LICENSE        2022-01-31 22:03:31.000000000 +0100
@@ -1,6 +1,6 @@
 ISC License
 
-Copyright (c) 2021 Tobias Stoeckmann <tob...@stoeckmann.org>
+Copyright (c) 2022 Tobias Stoeckmann <tob...@stoeckmann.org>
 
 Permission to use, copy, modify, and distribute this software for any
 purpose with or without fee is hereby granted, provided that the above
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xwallpaper-0.7.3/Makefile.in 
new/xwallpaper-0.7.4/Makefile.in
--- old/xwallpaper-0.7.3/Makefile.in    2021-08-08 14:36:13.000000000 +0200
+++ new/xwallpaper-0.7.4/Makefile.in    2022-06-30 14:12:56.000000000 +0200
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.16.4 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2021 Free Software Foundation, Inc.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xwallpaper-0.7.3/README.md 
new/xwallpaper-0.7.4/README.md
--- old/xwallpaper-0.7.3/README.md      2021-02-06 22:52:38.000000000 +0100
+++ new/xwallpaper-0.7.4/README.md      2022-01-31 22:03:31.000000000 +0100
@@ -38,7 +38,7 @@
 
 ## License
 
-Copyright (c) 2021 Tobias Stoeckmann <tob...@stoeckmann.org>
+Copyright (c) 2022 Tobias Stoeckmann <tob...@stoeckmann.org>
 
 Permission to use, copy, modify, and distribute this software for any
 purpose with or without fee is hereby granted, provided that the above
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xwallpaper-0.7.3/aclocal.m4 
new/xwallpaper-0.7.4/aclocal.m4
--- old/xwallpaper-0.7.3/aclocal.m4     2021-08-08 14:36:10.000000000 +0200
+++ new/xwallpaper-0.7.4/aclocal.m4     2022-06-30 14:12:53.000000000 +0200
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.16.4 -*- Autoconf -*-
+# generated automatically by aclocal 1.16.5 -*- Autoconf -*-
 
 # Copyright (C) 1996-2021 Free Software Foundation, Inc.
 
@@ -379,7 +379,7 @@
 [am__api_version='1.16'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.16.4], [],
+m4_if([$1], [1.16.5], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -395,7 +395,7 @@
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.16.4])dnl
+[AM_AUTOMAKE_VERSION([1.16.5])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
@@ -772,6 +772,10 @@
 # release and drop the old call support.
 AC_DEFUN([AM_INIT_AUTOMAKE],
 [AC_PREREQ([2.65])dnl
+m4_ifdef([_$0_ALREADY_INIT],
+  [m4_fatal([$0 expanded multiple times
+]m4_defn([_$0_ALREADY_INIT]))],
+  [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl
 dnl Autoconf wants to disallow AM_ names.  We explicitly allow
 dnl the ones we care about.
 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xwallpaper-0.7.3/configure 
new/xwallpaper-0.7.4/configure
--- old/xwallpaper-0.7.3/configure      2021-08-08 14:36:11.000000000 +0200
+++ new/xwallpaper-0.7.4/configure      2022-06-30 14:12:54.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for xwallpaper 0.7.3.
+# Generated by GNU Autoconf 2.71 for xwallpaper 0.7.4.
 #
 # Report bugs to <https://github.com/stoeckmann/xwallpaper/issues>.
 #
@@ -610,8 +610,8 @@
 # Identity of this package.
 PACKAGE_NAME='xwallpaper'
 PACKAGE_TARNAME='xwallpaper'
-PACKAGE_VERSION='0.7.3'
-PACKAGE_STRING='xwallpaper 0.7.3'
+PACKAGE_VERSION='0.7.4'
+PACKAGE_STRING='xwallpaper 0.7.4'
 PACKAGE_BUGREPORT='https://github.com/stoeckmann/xwallpaper/issues'
 PACKAGE_URL='https://github.com/stoeckmann/xwallpaper'
 
@@ -1351,7 +1351,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures xwallpaper 0.7.3 to adapt to many kinds of systems.
+\`configure' configures xwallpaper 0.7.4 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1418,7 +1418,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of xwallpaper 0.7.3:";;
+     short | recursive ) echo "Configuration of xwallpaper 0.7.4:";;
    esac
   cat <<\_ACEOF
 
@@ -1544,7 +1544,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-xwallpaper configure 0.7.3
+xwallpaper configure 0.7.4
 generated by GNU Autoconf 2.71
 
 Copyright (C) 2021 Free Software Foundation, Inc.
@@ -1762,7 +1762,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by xwallpaper $as_me 0.7.3, which was
+It was created by xwallpaper $as_me 0.7.4, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   $ $0$ac_configure_args_raw
@@ -4159,7 +4159,7 @@
 
 # Define the identity of the package.
  PACKAGE='xwallpaper'
- VERSION='0.7.3'
+ VERSION='0.7.4'
 
 
 printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -5911,7 +5911,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by xwallpaper $as_me 0.7.3, which was
+This file was extended by xwallpaper $as_me 0.7.4, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -5980,7 +5980,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
-xwallpaper config.status 0.7.3
+xwallpaper config.status 0.7.4
 configured by $0, generated by GNU Autoconf 2.71,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xwallpaper-0.7.3/configure.ac 
new/xwallpaper-0.7.4/configure.ac
--- old/xwallpaper-0.7.3/configure.ac   2021-08-08 14:34:10.000000000 +0200
+++ new/xwallpaper-0.7.4/configure.ac   2022-06-30 14:08:59.000000000 +0200
@@ -2,7 +2,7 @@
 # Process this file with autoconf to produce a configure script.
 
 AC_PREREQ([2.69])
-AC_INIT([xwallpaper], [0.7.3], 
[https://github.com/stoeckmann/xwallpaper/issues], [xwallpaper], 
[https://github.com/stoeckmann/xwallpaper])
+AC_INIT([xwallpaper], [0.7.4], 
[https://github.com/stoeckmann/xwallpaper/issues], [xwallpaper], 
[https://github.com/stoeckmann/xwallpaper])
 AC_CONFIG_SRCDIR([Makefile.am])
 AC_CONFIG_HEADERS([config.h])
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xwallpaper-0.7.3/debug.c new/xwallpaper-0.7.4/debug.c
--- old/xwallpaper-0.7.3/debug.c        2021-02-06 22:52:08.000000000 +0100
+++ new/xwallpaper-0.7.4/debug.c        2022-01-31 22:03:31.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 Tobias Stoeckmann <tob...@stoeckmann.org>
+ * Copyright (c) 2022 Tobias Stoeckmann <tob...@stoeckmann.org>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xwallpaper-0.7.3/functions.h 
new/xwallpaper-0.7.4/functions.h
--- old/xwallpaper-0.7.3/functions.h    2021-04-25 19:32:36.000000000 +0200
+++ new/xwallpaper-0.7.4/functions.h    2022-01-31 22:03:31.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 Tobias Stoeckmann <tob...@stoeckmann.org>
+ * Copyright (c) 2022 Tobias Stoeckmann <tob...@stoeckmann.org>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xwallpaper-0.7.3/load_jpeg.c 
new/xwallpaper-0.7.4/load_jpeg.c
--- old/xwallpaper-0.7.3/load_jpeg.c    2021-02-06 22:52:18.000000000 +0100
+++ new/xwallpaper-0.7.4/load_jpeg.c    2022-01-31 22:03:31.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 Tobias Stoeckmann <tob...@stoeckmann.org>
+ * Copyright (c) 2022 Tobias Stoeckmann <tob...@stoeckmann.org>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -46,7 +46,7 @@
 {
        wp_err_t wp_err;
        pixman_image_t *img;
-       JDIMENSION y, x, width, height;
+       JDIMENSION y, width, height;
        uint32_t *p;
        size_t len;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xwallpaper-0.7.3/load_png.c 
new/xwallpaper-0.7.4/load_png.c
--- old/xwallpaper-0.7.3/load_png.c     2021-02-06 22:52:21.000000000 +0100
+++ new/xwallpaper-0.7.4/load_png.c     2022-01-31 22:03:31.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 Tobias Stoeckmann <tob...@stoeckmann.org>
+ * Copyright (c) 2022 Tobias Stoeckmann <tob...@stoeckmann.org>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -38,77 +38,76 @@
        return valid;
 }
 
-pixman_image_t *
-load_png(FILE *fp)
+static pixman_image_t *
+do_load_png(FILE *fp, png_structp *png_ptr, png_infop *info_ptr,
+    uint32_t **pixels)
 {
        pixman_image_t *img;
        png_bytepp rows;
-       uint32_t *p, *pixels;
+       uint32_t *p;
        png_byte type, depth;
-       png_structp png_ptr;
-       png_infop info_ptr;
        png_uint_32 y, width, height;
        size_t len;
 
        if (!is_png(fp))
                return NULL;
 
-       png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING,
+       *png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING,
            NULL, NULL, NULL);
-       if (png_ptr == NULL)
+       if (*png_ptr == NULL)
                errx(1, "failed to initialize png struct");
 
-       if (setjmp(png_jmpbuf(png_ptr))) {
+       if (setjmp(png_jmpbuf(*png_ptr))) {
                debug("failed to parse file as PNG\n");
-               png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+               png_destroy_read_struct(png_ptr, info_ptr, NULL);
                return NULL;
        }
 
-       info_ptr = png_create_info_struct(png_ptr);
-       if (info_ptr == NULL) {
+       *info_ptr = png_create_info_struct(*png_ptr);
+       if (*info_ptr == NULL) {
                debug("failed to initialize png info");
-               png_destroy_read_struct(&png_ptr, NULL, NULL);
+               png_destroy_read_struct(png_ptr, NULL, NULL);
                return NULL;
        }
 
-       png_init_io(png_ptr, fp);
+       png_init_io(*png_ptr, fp);
 
-       png_read_info(png_ptr, info_ptr);
-       width = png_get_image_width(png_ptr, info_ptr);
-       height = png_get_image_height(png_ptr, info_ptr);
-       type = png_get_color_type(png_ptr, info_ptr);
-       depth = png_get_bit_depth(png_ptr, info_ptr);
+       png_read_info(*png_ptr, *info_ptr);
+       width = png_get_image_width(*png_ptr, *info_ptr);
+       height = png_get_image_height(*png_ptr, *info_ptr);
+       type = png_get_color_type(*png_ptr, *info_ptr);
+       depth = png_get_bit_depth(*png_ptr, *info_ptr);
 #if defined(PNG_READ_INTERLACING_SUPPORTED)
-       png_set_interlace_handling(png_ptr);
+       png_set_interlace_handling(*png_ptr);
 #endif /* PNG_READ_INTERLACING_SUPPORTED */
 
        switch (type) {
        case PNG_COLOR_TYPE_GRAY:
        case PNG_COLOR_TYPE_GRAY_ALPHA:
                if (depth < 8)
-                       png_set_expand_gray_1_2_4_to_8(png_ptr);
+                       png_set_expand_gray_1_2_4_to_8(*png_ptr);
                else if (depth == 16)
-                       png_set_strip_16(png_ptr);
-               png_set_gray_to_rgb(png_ptr);
+                       png_set_strip_16(*png_ptr);
+               png_set_gray_to_rgb(*png_ptr);
                break;
        case PNG_COLOR_TYPE_PALETTE:
-               png_set_palette_to_rgb(png_ptr);
-               if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS))
-                       png_set_tRNS_to_alpha(png_ptr);
+               png_set_palette_to_rgb(*png_ptr);
+               if (png_get_valid(*png_ptr, *info_ptr, PNG_INFO_tRNS))
+                       png_set_tRNS_to_alpha(*png_ptr);
                break;
        default:
                if (depth == 16)
-                       png_set_strip_16(png_ptr);
+                       png_set_strip_16(*png_ptr);
                break;
        }
        if (!(type & PNG_COLOR_MASK_ALPHA))
-               png_set_filler(png_ptr, 0xff, PNG_FILLER_AFTER);
+               png_set_filler(*png_ptr, 0xff, PNG_FILLER_AFTER);
        if (type & PNG_COLOR_MASK_COLOR)
-               png_set_bgr(png_ptr);
-       png_read_update_info(png_ptr, info_ptr);
+               png_set_bgr(*png_ptr);
+       png_read_update_info(*png_ptr, *info_ptr);
 
-       SAFE_MUL3(len, width, height, sizeof(*pixels));
-       p = pixels = xmalloc(len);
+       SAFE_MUL3(len, width, height, sizeof(**pixels));
+       p = *pixels = xmalloc(len);
 
        SAFE_MUL(len, height, sizeof(*rows));
        rows = xmalloc(len);
@@ -116,15 +115,30 @@
                rows[y] = (png_bytep)p;
                p += width;
        }
-       png_read_image(png_ptr, rows);
+       png_read_image(*png_ptr, rows);
        free(rows);
 
-       png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+       png_destroy_read_struct(png_ptr, info_ptr, NULL);
 
-       img = pixman_image_create_bits(PIXMAN_a8r8g8b8, width, height, pixels,
+       img = pixman_image_create_bits(PIXMAN_a8r8g8b8, width, height, *pixels,
            width * sizeof(uint32_t));
        if (img == NULL)
                errx(1, "failed to create pixman image");
 
        return img;
 }
+
+pixman_image_t *
+load_png(FILE *fp)
+{
+       png_structp png_ptr;
+       png_infop info_ptr;
+       pixman_image_t *img;
+       uint32_t *pixels;
+
+       pixels = NULL;
+       img = do_load_png(fp, &png_ptr, &info_ptr, &pixels);
+       if (img == NULL)
+               free(pixels);
+       return img;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xwallpaper-0.7.3/load_xpm.c 
new/xwallpaper-0.7.4/load_xpm.c
--- old/xwallpaper-0.7.3/load_xpm.c     2021-02-06 22:52:24.000000000 +0100
+++ new/xwallpaper-0.7.4/load_xpm.c     2022-01-31 22:03:31.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 Tobias Stoeckmann <tob...@stoeckmann.org>
+ * Copyright (c) 2022 Tobias Stoeckmann <tob...@stoeckmann.org>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xwallpaper-0.7.3/main.c new/xwallpaper-0.7.4/main.c
--- old/xwallpaper-0.7.3/main.c 2021-07-18 21:49:10.000000000 +0200
+++ new/xwallpaper-0.7.4/main.c 2022-01-31 22:03:31.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 Tobias Stoeckmann <tob...@stoeckmann.org>
+ * Copyright (c) 2022 Tobias Stoeckmann <tob...@stoeckmann.org>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -593,11 +593,13 @@
                /* fake an output that fits the picture */
                width = pixman_image_get_width(pixman_image);
                height = pixman_image_get_height(pixman_image);
-               tile_output.x = 0;
-               tile_output.y = 0;
-               tile_output.width = width;
-               tile_output.height = height;
-               tile_output.name = NULL;
+               tile_output = (wp_output_t){
+                       .x = 0,
+                       .y = 0,
+                       .width = width,
+                       .height = height,
+                       .name = NULL
+               };
                outputs = &tile_output;
        } else {
                width = screen->width_in_pixels;
@@ -631,10 +633,12 @@
                    width, height);
                gc = xcb_generate_id(c);
                xcb_create_gc(c, gc, pixmap, 0, NULL);
-               rectangle.x = 0;
-               rectangle.y = 0;
-               rectangle.width = width;
-               rectangle.height = height;
+               rectangle = (xcb_rectangle_t){
+                       .x = 0,
+                       .y = 0,
+                       .width = width,
+                       .height = height
+               };
                xcb_poly_fill_rectangle(c, pixmap, gc, 1, &rectangle);
                created = 1;
        } else {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xwallpaper-0.7.3/options.c 
new/xwallpaper-0.7.4/options.c
--- old/xwallpaper-0.7.3/options.c      2021-04-25 21:58:00.000000000 +0200
+++ new/xwallpaper-0.7.4/options.c      2022-01-31 22:03:31.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 Tobias Stoeckmann <tob...@stoeckmann.org>
+ * Copyright (c) 2022 Tobias Stoeckmann <tob...@stoeckmann.org>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -44,7 +44,7 @@
                *bufs = realloc(*bufs, (*count + 1) * sizeof(**bufs));
                if (*bufs == NULL)
                        err(1, "failed to allocate memory");
-               memcpy(&(*bufs)[(*count)++], &buf, sizeof(buf));
+               (*bufs)[(*count)++] = buf;
        }
 
        return i;
@@ -75,7 +75,7 @@
                o = &config->options[config->count++];
                config->options[config->count].filename = NULL;
        }
-       memcpy(o, &option, sizeof(*o));
+       *o = option;
 }
 
 static void
@@ -93,7 +93,7 @@
 
        buffers = NULL;
        buffers_count = 0;
-       memset(&buffer, 0, sizeof(buffer));
+       buffer = (wp_buffer_t){ 0 };
 
        for (i = 0; i < config->count; i++) {
                struct stat st;
@@ -148,9 +148,6 @@
 parse_box(char *s, wp_box_t **box)
 {
        wp_box_t b;
-       char *endptr;
-       char sign;
-       uint16_t val;
 
        switch (sscanf(s, "%hux%hu+%hu+%hu", &b.width, &b.height,
            &b.x_off, &b.y_off)) {
@@ -171,7 +168,7 @@
                return 1;
 
        *box = xmalloc(sizeof(*box));
-       memcpy(*box, &b, sizeof(b));
+       **box = b;
 
        return 0;
 }
@@ -183,14 +180,15 @@
        wp_option_t last;
 
        config = xmalloc(sizeof(*config));
-       config->options = NULL;
-       config->count = 0;
-       config->daemon = 0;
-       config->source = SOURCE_ATOMS;
-       config->target = TARGET_ATOMS | TARGET_ROOT;
+       *config = (wp_config_t){
+               .options = NULL,
+               .count = 0,
+               .daemon = 0,
+               .source = SOURCE_ATOMS,
+               .target = TARGET_ATOMS | TARGET_ROOT
+       };
 
-       memset(&last, 0, sizeof(last));
-       last.screen = -1;
+       last = (wp_option_t){ .screen = -1 };
 
        while (*argv != NULL) {
                if (strcmp(argv[0], "--daemon") == 0) {
@@ -235,7 +233,7 @@
                        last.output = *argv;
                } else if ((last.mode = parse_mode(*argv)) != -1) {
                        if (*++argv == NULL) {
-                               warnx("missing argument for %s", *argv);
+                               warnx("missing argument for %s", *(argv - 1));
                                return NULL;
                        }
                        last.filename = *argv;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xwallpaper-0.7.3/outputs.c 
new/xwallpaper-0.7.4/outputs.c
--- old/xwallpaper-0.7.3/outputs.c      2021-02-06 22:52:35.000000000 +0100
+++ new/xwallpaper-0.7.4/outputs.c      2022-01-31 22:03:31.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 Tobias Stoeckmann <tob...@stoeckmann.org>
+ * Copyright (c) 2022 Tobias Stoeckmann <tob...@stoeckmann.org>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -119,25 +119,29 @@
                name = xcb_randr_get_output_info_name(output_reply);
                name_len = xcb_randr_get_output_info_name_length(output_reply);
 
-               outputs[j].name = xmalloc(name_len + 1);
+               outputs[j] = (wp_output_t){
+                       .x = crtc_reply->x,
+                       .y = crtc_reply->y,
+                       .width = crtc_reply->width,
+                       .height = crtc_reply->height
+               };
+               outputs[j].name = xmalloc((size_t)name_len + 1);
                memcpy(outputs[j].name, name, name_len);
                outputs[j].name[name_len] = '\0';
 
-               outputs[j].x = crtc_reply->x;
-               outputs[j].y = crtc_reply->y;
-               outputs[j].width = crtc_reply->width;
-               outputs[j].height = crtc_reply->height;
                debug("output detected: %s, %dx%d+%d+%d\n", outputs[j].name,
                    outputs[j].width, outputs[j].height, outputs[j].x,
                    outputs[j].y);
                j++;
        }
 
-       outputs[j].name = NULL;
-       outputs[j].x = 0;
-       outputs[j].y = 0;
-       outputs[j].width = screen->width_in_pixels;
-       outputs[j].height = screen->height_in_pixels;
+       outputs[j] = (wp_output_t){
+               .name = NULL,
+               .x = 0,
+               .y = 0,
+               .width = screen->width_in_pixels,
+               .height = screen->height_in_pixels
+       };
        debug("(randr) screen dimensions: %dx%d+%d+%d\n", outputs[j].width,
            outputs[j].height, outputs[j].x, outputs[j].y);
        return outputs;
@@ -156,11 +160,13 @@
 #endif /* WITH_RANDR */
        outputs = xmalloc(sizeof(*outputs));
 
-       outputs[0].name = NULL;
-       outputs[0].x = 0;
-       outputs[0].y = 0;
-       outputs[0].width = screen->width_in_pixels;
-       outputs[0].height = screen->height_in_pixels;
+       outputs[0] = (wp_output_t){
+               .name = NULL,
+               .x = 0,
+               .y = 0,
+               .width = screen->width_in_pixels,
+               .height = screen->height_in_pixels
+       };
        debug("(no randr) screen dimensions: %dx%d+%d+%d\n",
            outputs[0].width, outputs[0].height, outputs[0].x, outputs[0].y);
        return outputs;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xwallpaper-0.7.3/seccomp.c 
new/xwallpaper-0.7.4/seccomp.c
--- old/xwallpaper-0.7.3/seccomp.c      2021-06-27 11:52:30.000000000 +0200
+++ new/xwallpaper-0.7.4/seccomp.c      2022-06-30 14:08:26.000000000 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 Tobias Stoeckmann <tob...@stoeckmann.org>
+ * Copyright (c) 2022 Tobias Stoeckmann <tob...@stoeckmann.org>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -58,6 +58,7 @@
            seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(fstatat64), 0) ||
            seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(fsync), 0) ||
            seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(ftruncate), 0) ||
+           seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(futex), 0) ||
            seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(getdents), 0) ||
            seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(getegid), 0) ||
            seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(geteuid), 0) ||
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xwallpaper-0.7.3/util.c new/xwallpaper-0.7.4/util.c
--- old/xwallpaper-0.7.3/util.c 2021-02-06 22:52:44.000000000 +0100
+++ new/xwallpaper-0.7.4/util.c 2022-01-31 22:03:31.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 Tobias Stoeckmann <tob...@stoeckmann.org>
+ * Copyright (c) 2022 Tobias Stoeckmann <tob...@stoeckmann.org>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xwallpaper-0.7.3/xwallpaper.1 
new/xwallpaper-0.7.4/xwallpaper.1
--- old/xwallpaper-0.7.3/xwallpaper.1   2021-08-08 14:34:25.000000000 +0200
+++ new/xwallpaper-0.7.4/xwallpaper.1   2022-06-30 14:09:19.000000000 +0200
@@ -1,4 +1,4 @@
-.\" Copyright (c) 2021 Tobias Stoeckmann <tob...@stoeckmann.org>
+.\" Copyright (c) 2022 Tobias Stoeckmann <tob...@stoeckmann.org>
 .\"
 .\" Permission to use, copy, modify, and distribute this software for any
 .\" purpose with or without fee is hereby granted, provided that the above
@@ -11,9 +11,9 @@
 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-.Dd August 8, 2021
+.Dd June 30, 2022
 .Dt XWALLPAPER 1
-.Os xwallpaper 0.7.3
+.Os xwallpaper 0.7.4
 .Sh NAME
 .Nm xwallpaper
 .Nd wallpaper setting utility for X

Reply via email to