Advertisement
Guest User

Untitled

a guest
May 26th, 2019
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.17 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <stdbool.h>
  4. #include <unistd.h>
  5. #include "ls.h"
  6.  
  7. #define VALID_FLAGS "AlR"
  8. #define BUFFER_SIZE 1024
  9.  
  10. int main(int argc, char **argv) {
  11.     init_options(&options);
  12.     update_options(&options, argc, argv, VALID_FLAGS);
  13.     if(optind >= argc) {
  14.         print_directory_content(".");
  15.     } else {
  16.         char **directories = malloc(BUFFER_SIZE * BUFFER_SIZE);
  17.         int directories_count = 0;
  18.  
  19.         for(int i = 0; i < BUFFER_SIZE; i++) {
  20.             directories[i] = malloc(BUFFER_SIZE);
  21.         }
  22.  
  23.         for(int i = optind; i < argc; i++) {
  24.             char *pathname = argv[i];
  25.             if(pathname[0] == '-') {
  26.                 continue;
  27.             }
  28.  
  29.             if(is_file(pathname)) {
  30.                 print_file(pathname);
  31.             } else {
  32.                 directories[directories_count++] = pathname;
  33.             }
  34.         }
  35.  
  36.         for(int i = 0; i < directories_count; i++) {
  37.             print_directory_content(directories[i]);
  38.         }
  39.  
  40.         for(int i = 0; i < BUFFER_SIZE; i++) {
  41.             free(directories[i]);
  42.         }
  43.  
  44.         free(directories);
  45.     }
  46.  
  47.     return 0;
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement