Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: othersrc/external/bsd/progress/dist



Module Name:    othersrc
Committed By:   agc
Date:           Tue Sep  1 03:47:28 UTC 2015

Modified Files:
        othersrc/external/bsd/progress/dist: progress.c

Log Message:
Update from Ken%freebsd.org@localhost for the progress meter code, from FreeBSD r286965,
mucked around by me. This fixes a bug in the progress display code:

        "When the user's filename is too big, or his terminal width is too
        small, the progress code could wind up using a negative number for
        the length of the "stars" that it uses to indicate progress.

        This negative value was assigned to an unsigned variable, resulting
        in a very large positive value.

        The result is that we wound up writing garbage from memory to the
        user's terminal.

        With an 80 column terminal, a file name length of more than 35
        characters would generate this problem.

        To address this, we now set a minimum progress bar length, and
        truncate the user's file name as needed.

        This has been tested with large filenames and small terminals, and
        at least produces reasonable results. If the terminal is too
        narrow, the progress display takes up an additional line with each
        update, but this is more user friendly than writing garbage to the
        tty."


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1 -r1.2 othersrc/external/bsd/progress/dist/progress.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index