[PATCH 2/2] pacman: simplify chomp mouth logic
Allan McRae
allan at archlinux.org
Sun Jan 2 10:57:28 UTC 2022
On 24/10/21 21:08, Sefa Eyeoglu wrote:
> ---
> src/pacman/callback.c | 20 +++-----------------
> 1 file changed, 3 insertions(+), 17 deletions(-)
>
> diff --git a/src/pacman/callback.c b/src/pacman/callback.c
> index cb8f4302..a97729ac 100644
> --- a/src/pacman/callback.c
> +++ b/src/pacman/callback.c
> @@ -156,13 +156,8 @@ static void fill_progress(const int bar_percent, const int disp_percent,
> /* 8 = 1 space + 1 [ + 1 ] + 5 for percent */
> const int hashlen = proglen > 8 ? proglen - 8 : 0;
> const int hash = bar_percent * hashlen / 100;
> - static int lasthash = 0;
> int i;
>
> - if(bar_percent == 0) {
> - lasthash = 0;
> - }
> -
> if(hashlen > 0) {
> fputs(" [", stdout);
> for(i = hashlen; i > 0; --i) {
> @@ -171,19 +166,10 @@ static void fill_progress(const int bar_percent, const int disp_percent,
> if(i > hashlen - hash) {
> putchar('-');
> } else if(i == hashlen - hash) {
> - if(lasthash == hash) {
> - if(i % 2 == 0) {
> - fputs("\033[1;33mC\033[m", stdout);
> - } else {
> - fputs("\033[1;33mc\033[m", stdout);
> - }
> + if(i % 2 == 0) {
> + fputs("\033[1;33mC\033[m", stdout);
> } else {
> - lasthash = hash;
> - if(i % 2 == 0) {
> - fputs("\033[1;33mC\033[m", stdout);
> - } else {
> - fputs("\033[1;33mc\033[m", stdout);
> - }
> + fputs("\033[1;33mc\033[m", stdout);
> }
I had a look into this - the two blocks looked weird. It appears this
was purely to avoid doing a 0/1 switch if the hash did not move. So not
needed not that i%2 is happening. Looks fine to me.
Allan
> } else if(i % 3 == 0) {
> fputs("\033[0;37mo\033[m", stdout);
More information about the pacman-dev
mailing list