Compare commits

..

1 commit

Author SHA1 Message Date
Allan McRae
e57ec32e05 Remove initialisation of unions
As of gcc-15, unions are no longer zero initialised when "{0}" is used.
To revert to the old behaviour, either assumes building for C23 or
adding a compiler option that may or may not work with other compilers.

Remove current "initialization" to make it clear that full initialization
is not occuring. All relevant fields are currently initialized before
use.

Signed-off-by: Allan McRae <allan@archlinux.org>
2025-08-02 13:53:55 +10:00
4 changed files with 47 additions and 2 deletions

View file

@ -1322,7 +1322,7 @@ int SYMEXPORT alpm_fetch_pkgurl(alpm_handle_t *handle, const alpm_list_t *urls,
char *temporary_cachedir = NULL; char *temporary_cachedir = NULL;
alpm_list_t *payloads = NULL; alpm_list_t *payloads = NULL;
const alpm_list_t *i; const alpm_list_t *i;
alpm_event_t event = {0}; alpm_event_t event;
CHECK_HANDLE(handle, return -1); CHECK_HANDLE(handle, return -1);
ASSERT(*fetched == NULL, RET_ERR(handle, ALPM_ERR_WRONG_ARGS, -1)); ASSERT(*fetched == NULL, RET_ERR(handle, ALPM_ERR_WRONG_ARGS, -1));

View file

@ -776,7 +776,7 @@ static int download_files(alpm_handle_t *handle)
char * temporary_cachedir = NULL; char * temporary_cachedir = NULL;
alpm_list_t *i, *files = NULL; alpm_list_t *i, *files = NULL;
int ret = 0; int ret = 0;
alpm_event_t event = {0}; alpm_event_t event;
alpm_list_t *payloads = NULL; alpm_list_t *payloads = NULL;
cachedir = _alpm_filecache_setup(handle); cachedir = _alpm_filecache_setup(handle);

View file

@ -17,6 +17,7 @@ sources = [
'package_function.sh.in', 'package_function.sh.in',
'package_function_variable.sh.in', 'package_function_variable.sh.in',
'pkgbase.sh.in', 'pkgbase.sh.in',
'pkglist.sh.in',
'pkgname.sh.in', 'pkgname.sh.in',
'pkgrel.sh.in', 'pkgrel.sh.in',
'pkgver.sh.in', 'pkgver.sh.in',

View file

@ -0,0 +1,44 @@
#!/bin/bash
#
# pkglist.sh - Check the packages selected to build exist.
#
# Copyright (c) 2014-2025 Pacman Development Team <pacman-dev@lists.archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
[[ -n "$LIBMAKEPKG_LINT_PKGBUILD_PKGLIST_SH" ]] && return
LIBMAKEPKG_LINT_PKGBUILD_PKGLIST_SH=1
MAKEPKG_LIBRARY=${MAKEPKG_LIBRARY:-'@libmakepkgdir@'}
source "$MAKEPKG_LIBRARY/util/message.sh"
source "$MAKEPKG_LIBRARY/util/util.sh"
lint_pkgbuild_functions+=('lint_pkglist')
lint_pkglist() {
local i ret=0
for i in "${PKGLIST[@]}"; do
if ! in_array "$i" "${pkgname[@]}"; then
error "$(gettext "Requested package %s is not provided in %s")" "$i" "$BUILDFILE"
ret=1
fi
done
return $ret
}