X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?a=blobdiff_plain;f=dus.c;h=347ecaefbd270c1d77e699300740ef7ff544b2aa;hb=79b0720406d830cfa9bf0a522e2da73ce173b0f8;hp=620df1ede4de90e91cddedbe90d0e77851a37dd5;hpb=6ea55a080b700e73fa9194972a6349233ea4384f;p=dus.git diff --git a/dus.c b/dus.c index 620df1e..347ecae 100644 --- a/dus.c +++ b/dus.c @@ -300,6 +300,10 @@ void print_sorted(struct entry_node *root, int width, int height) { height = forced_height; } + if(forced_width) { + width = forced_width; + } + if(height >= 0 && nb_nodes > height && !show_top && !forced_height) { printf("...\n"); } @@ -320,8 +324,9 @@ void print_sorted(struct entry_node *root, int width, int height) { } else { raw_print(line, nodes[n]->name, nodes[n]->size); } - if(width >= 0 && width < BUFFER_SIZE) { - line[width] = '\0'; + if(width >= 1 && width + 1 < BUFFER_SIZE && line[width]) { + line[width] = '\n'; + line[width + 1] = '\0'; } printf(line); } @@ -340,27 +345,24 @@ void usage(FILE *out) { fprintf(out, "Version %s (%s)\n", VERSION_NUMBER, UNAME); fprintf(out, "List files and directories sorted according to their size or content size. Take the content of the current directory as argument if none is provided.\n"); fprintf(out, "\n"); - fprintf(out, " -d, --ignore-dots\n"); - fprintf(out, " ignore files and directories starting with a '.'\n"); - fprintf(out, " -f, --fancy\n"); - fprintf(out, " display size with float values and K, M and G units.\n"); - fprintf(out, " -r, --reverse-order\n"); - fprintf(out, " reverse the sorting order.\n"); - fprintf(out, " -t, --show-top\n"); - fprintf(out, " show the top of the list.\n"); + /* 01234567890123456789012345678901234567890123456789012345678901234567890123456789*/ + fprintf(out, " -d, --ignore-dots ignore files and directories starting with a '.'\n"); + fprintf(out, " -f, --fancy display size with float values and K, M and G\n"); + fprintf(out, " units.\n"); + fprintf(out, " -r, --reverse-order reverse the sorting order.\n"); + fprintf(out, " -t, --show-top show the top of the list.\n"); fprintf(out, " -c , --nb-columns \n"); - fprintf(out, " specificy the number of columns to display. The value -1\n"); - fprintf(out, " corresponds to no constraint. By default the command\n"); - fprintf(out, " uses the tty width, or no constraint if the stdout is\n"); - fprintf(out, " not a tty.\n"); + fprintf(out, " specificy the number of columns to display. The\n"); + fprintf(out, " value -1 corresponds to no constraint. By default\n"); + fprintf(out, " the command uses the tty width, or no constraint\n"); + fprintf(out, " if the stdout is not a tty.\n"); fprintf(out, " -l , --nb-lines \n"); - fprintf(out, " same as -c for number of lines.\n"); - fprintf(out, " -h, --help\n"); - fprintf(out, " show this help.\n"); + fprintf(out, " same as -c for number of lines.\n"); + fprintf(out, " -h, --help show this help.\n"); fprintf(out, " -m , --size-min \n"); - fprintf(out, " set the listed entries minimum size.\n"); + fprintf(out, " set the listed entries minimum size.\n"); fprintf(out, "\n"); - fprintf(out, "Report bugs and comments to \n"); + fprintf(out, "Report bugs and comments to .\n"); } /**********************************************************************/