[pacman-dev] [PATCH v2 2/2] Update the question callback

Allan McRae allan at archlinux.org
Thu May 29 01:41:48 EDT 2014


On 26/05/14 01:30, Andrew Gregory wrote:
> 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;
>            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Any suggestions of what we can do there?


> 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