On 12/14/15 at 03:51pm, Allan McRae wrote:
> Introduces the ALPM_EVENT_HOOK_RUN_{START,DONE} events that are triggered
> at the start and end of running an individual hook.
> 
> Signed-off-by: Allan McRae <[email protected]>
> ---
...
>  lib/libalpm/alpm.h    | 18 +++++++++++++++++-
>  lib/libalpm/hook.c    | 14 +++++++++++++-
>  src/pacman/callback.c | 13 +++++++++++++
>  3 files changed, 43 insertions(+), 2 deletions(-)
...
> diff --git a/src/pacman/callback.c b/src/pacman/callback.c
> index c33bd24..ae725d3 100644
> --- a/src/pacman/callback.c
> +++ b/src/pacman/callback.c
> @@ -172,6 +172,18 @@ void cb_event(alpm_event_t *event)
>                                       event->hook.when == 
> ALPM_HOOK_PRE_TRANSACTION
>                                       ? _("pre-transaction") : 
> _("post-transaction"));
>                       break;
> +             case ALPM_EVENT_HOOK_RUN_START:
> +                     {
> +                             alpm_event_hook_run_t *e = &event->hook_run;
> +                             int digits = 1;
> +                             size_t tmp = e->total;
> +                             while((tmp /= 10)) {
> +                                     ++digits;
> +                             }

I would suggest extracting the above bit into a function since we do
the exact same calculation elsewhere and cb_event is already massive.

> +                             printf("(%*zu/%*zu) %s\n", digits, e->position,
> +                                             digits, e->total, e->desc);
> +                     }
> +                     break;
>               case ALPM_EVENT_CHECKDEPS_START:
>                       printf(_("checking dependencies...\n"));
>                       break;
> @@ -339,6 +351,7 @@ void cb_event(alpm_event_t *event)
>               case ALPM_EVENT_RETRIEVE_DONE:
>               case ALPM_EVENT_RETRIEVE_FAILED:
>               case ALPM_EVENT_HOOK_DONE:
> +             case ALPM_EVENT_HOOK_RUN_DONE:
>               /* we can safely ignore those as well */
>               case ALPM_EVENT_PKGDOWNLOAD_START:
>               case ALPM_EVENT_PKGDOWNLOAD_DONE:
> -- 
> 2.6.4

Reply via email to