X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?p=dus.git;a=blobdiff_plain;f=dus.c;h=d361712c3660110a1d97753aa68446ccfb40a12a;hp=620df1ede4de90e91cddedbe90d0e77851a37dd5;hb=d98a016c96a3c0593838532465178b1ae82efabc;hpb=6ea55a080b700e73fa9194972a6349233ea4384f diff --git a/dus.c b/dus.c index 620df1e..d361712 100644 --- a/dus.c +++ b/dus.c @@ -242,7 +242,7 @@ void raw_print(char *buffer, char *filename, size_sum_t size) { *(b++) = ' '; - sprintf(b, " %s\n", filename); + sprintf(b, "%s\n", filename); } void fancy_print(char *buffer, char *filename, size_sum_t size) { @@ -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"); } /**********************************************************************/