From 4f670845ff9ab6c48bcb5f7bf4d4ef6dc3c3064b Mon Sep 17 00:00:00 2001 From: manuel Date: Tue, 27 Mar 2012 11:51:08 +0200 Subject: reorganize file structure to match the upstream requirements --- pintos-progos/examples/ls.c | 90 --------------------------------------------- 1 file changed, 90 deletions(-) delete mode 100644 pintos-progos/examples/ls.c (limited to 'pintos-progos/examples/ls.c') diff --git a/pintos-progos/examples/ls.c b/pintos-progos/examples/ls.c deleted file mode 100644 index fbe27a1..0000000 --- a/pintos-progos/examples/ls.c +++ /dev/null @@ -1,90 +0,0 @@ -/* ls.c - - Lists the contents of the directory or directories named on - the command line, or of the current directory if none are - named. - - By default, only the name of each file is printed. If "-l" is - given as the first argument, the type, size, and inumber of - each file is also printed. This won't work until project 4. */ - -#include -#include -#include - -static bool -list_dir (const char *dir, bool verbose) -{ - int dir_fd = open (dir); - if (dir_fd == -1) - { - printf ("%s: not found\n", dir); - return false; - } - - if (isdir (dir_fd)) - { - char name[READDIR_MAX_LEN]; - - printf ("%s", dir); - if (verbose) - printf (" (inumber %d)", inumber (dir_fd)); - printf (":\n"); - - while (readdir (dir_fd, name)) - { - printf ("%s", name); - if (verbose) - { - char full_name[128]; - int entry_fd; - - snprintf (full_name, sizeof full_name, "%s/%s", dir, name); - entry_fd = open (full_name); - - printf (": "); - if (entry_fd != -1) - { - if (isdir (entry_fd)) - printf ("directory"); - else - printf ("%d-byte file", filesize (entry_fd)); - printf (", inumber %d", inumber (entry_fd)); - } - else - printf ("open failed"); - close (entry_fd); - } - printf ("\n"); - } - } - else - printf ("%s: not a directory\n", dir); - close (dir_fd); - return true; -} - -int -main (int argc, char *argv[]) -{ - bool success = true; - bool verbose = false; - - if (argc > 1 && !strcmp (argv[1], "-l")) - { - verbose = true; - argv++; - argc--; - } - - if (argc <= 1) - success = list_dir (".", verbose); - else - { - int i; - for (i = 1; i < argc; i++) - if (!list_dir (argv[i], verbose)) - success = false; - } - return success ? EXIT_SUCCESS : EXIT_FAILURE; -} -- cgit v1.2.3