(linenum→info "unix/slp.c:2238")

glibc/2.7/dirent/list.c

    1: /* Copyright (C) 1991, 1993, 1997, 1998, 2000 Free Software Foundation, Inc.
    2:    This file is part of the GNU C Library.
    3: 
    4:    The GNU C Library is free software; you can redistribute it and/or
    5:    modify it under the terms of the GNU Lesser General Public
    6:    License as published by the Free Software Foundation; either
    7:    version 2.1 of the License, or (at your option) any later version.
    8: 
    9:    The GNU C Library is distributed in the hope that it will be useful,
   10:    but WITHOUT ANY WARRANTY; without even the implied warranty of
   11:    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   12:    Lesser General Public License for more details.
   13: 
   14:    You should have received a copy of the GNU Lesser General Public
   15:    License along with the GNU C Library; if not, write to the Free
   16:    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
   17:    02111-1307 USA.  */
   18: 
   19: #include <errno.h>
   20: #include <stddef.h>
   21: #include <stdio.h>
   22: #include <stdlib.h>
   23: #include <dirent.h>
   24: 
   25: 
   26: static int
   27: test (const char *name)
   28: {
   29:   DIR *dirp;
   30:   struct dirent *entp;
   31:   int retval = 0;
   32: 
   33:   puts (name);
   34: 
   35:   dirp = opendir (name);
   36:   if (dirp == NULL)
   37:     {
   38:       perror ("opendir");
   39:       return 1;
   40:     }
   41: 
   42:   errno = 0;
   43:   while ((entp = readdir (dirp)) != NULL)
   44:     printf ("%s\tfile number %lu\n",
   45:             entp->d_name, (unsigned long int) entp->d_fileno);
   46: 
   47:   if (errno)
   48:     {
   49:       perror ("readdir");
   50:       retval = 1;
   51:     }
   52: 
   53:   if (closedir (dirp) < 0)
   54:     {
   55:       perror ("closedir");
   56:       retval = 1;
   57:     }
   58: 
   59:   return retval;
   60: }
   61: 
   62: int
   63: main (int argc, char **argv)
   64: {
   65:   int retval = 0;
   66:   --argc;
   67:   ++argv;
   68: 
   69:   if (argc == 0)
   70:     retval = test (".");
   71:   else
   72:     while (argc-- > 0)
   73:       retval |= test (*argv++);
   74: 
   75:   return retval;
   76: }
Syntax (Markdown)