+ while (1) {
+ c = getopt(argc, argv, "dfrtl:c:hdu");
+ if (c == -1)
+ break;
+
+ switch (c) {
+
+ case 'd':
+ ignore_dotfiles = 1;
+ break;
+
+ case 'f':
+ fancy_size_display = 1;
+ break;
+
+ case 'r':
+ reverse_sorting = 1;
+ break;
+
+ case 't':
+ show_top = 1;
+ break;
+
+ case 'l':
+ forced_height = atoi(optarg);
+ break;
+
+ case 'c':
+ forced_width = atoi(optarg);
+ break;
+
+ case 'h':
+ printf("Usage: dus [OPTION]... [FILE]...\n");
+ printf("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");
+ printf("\n");
+ printf(" -d ignore files and directories starting with a '.'\n");
+ printf(" -f display size with float values and K, M and G units.\n");
+ printf(" -r reverse the sorting order.\n");
+ printf(" -t show the top of the list.\n");
+ printf(" -c <cols> specificy the number of columns to display. The value -1\n");
+ printf(" corresponds to no constraint. By default the command\n");
+ printf(" uses the tty width, or no constraint if the stdout is\n");
+ printf(" not a tty.\n");
+ printf(" -l <lines> same as -c for number of lines.\n");
+ printf(" -h show this help.\n");
+ printf("\n");
+ printf("Report bugs and comments to <francois@fleuret.org>\n");
+ exit(EXIT_SUCCESS);
+
+ break;
+
+ default:
+ exit(EXIT_FAILURE);
+ }
+ }
+
+ if (optind < argc) {
+ while (optind < argc) {
+ root = create(argv[optind++], root);