diff --git a/src/poc/progbar.c b/src/poc/progbar.c index 3eb1e2ef7..db2032636 100644 --- a/src/poc/progbar.c +++ b/src/poc/progbar.c @@ -15,12 +15,16 @@ pbar_fill(struct notcurses* nc, struct ncprogbar* pbar){ const uint64_t startns = ts_to_ns(&cur); const uint64_t deadline = startns + delay; do{ + clock_gettime(CLOCK_MONOTONIC, &cur); uint64_t curns = ts_to_ns(&cur); - if(ncprogbar_set_progress(pbar, (curns - startns) / (double)delay)){ + double p = (curns - startns) / (double)delay; + if(p > 1.0){ + p = 1; + } + if(ncprogbar_set_progress(pbar, p)){ return -1; } notcurses_render(nc); - clock_gettime(CLOCK_MONOTONIC, &cur); }while(ts_to_ns(&cur) < deadline); return 0; } @@ -130,6 +134,7 @@ int main(void){ return EXIT_FAILURE; } ncprogbar_destroy(ncp); + ncplane_erase(notcurses_stdplane(nc)); ncp = hbar_make(nc, NCPROGBAR_OPTION_RETROGRADE); if(pbar_fill(nc, ncp)){ notcurses_stop(nc);