[pacman-dev] [PATCH v2 2/2] Update the question callback
Andrew Gregory
andrew.gregory.8 at gmail.com
Sun May 25 11:30:23 EDT 2014
On 05/24/14 at 03:49pm, Olivier Brunel wrote:
> Much like with events, instead of using a bunch of void* arguments for
> all questions, we now send one pointer to an alpm_question_t struct.
> This contains the type of question that was triggered.
>
> With this information, the pointer can then be typecasted to the
> question-specific struct in order to get additional arguments.
>
> Signed-off-by: Olivier Brunel <jjk at jjacky.com>
> ---
> lib/libalpm/alpm.h | 92 +++++++++++++++++++++++++++++++++++++++--
> lib/libalpm/deps.c | 38 ++++++++++-------
> lib/libalpm/handle.h | 4 +-
> lib/libalpm/signing.c | 12 ++++--
> lib/libalpm/sync.c | 60 +++++++++++++++++----------
> src/pacman/callback.c | 110 +++++++++++++++++++++++++++-----------------------
> src/pacman/callback.h | 3 +-
> 7 files changed, 222 insertions(+), 97 deletions(-)
The generic to specific struct casts cause Clang to fail when pacman
is configured with --enable-warningflags:
callback.c:377:44: error: cast from 'alpm_question_t *' (aka 'struct
_alpm_question_t *') to 'alpm_question_install_ignorepkg_t *'
(aka 'struct _alpm_question_install_ignorepkg_t *') increases
required alignment from 4 to 8 [-Werror,-Wcast-align]
...*q = (alpm_question_install_ignorepkg_t *) question;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The earlier changes to the event callback have the same issue and also
give errors about using non-literal strings with vprintf:
testdb.c:53:11: error: format string is not a string literal
[-Werror,-Wformat-nonliteral]
vprintf(event->fmt, event->args);
^~~~~~~~~~
apg
More information about the pacman-dev
mailing list