home *** CD-ROM | disk | FTP | other *** search
/ SPACE 2 / SPACE - Library 2 - Volume 1.iso / program / 316 / libsrc / closedir.c < prev    next >
Encoding:
C/C++ Source or Header  |  1988-10-20  |  875 b   |  46 lines

  1. /*
  2.  *        Cross Development System for Atari ST 
  3.  *     Copyright (c) 1988, Memorial University of Newfoundland
  4.  *
  5.  *  A public domain implementation of BSD directory routines for MS-DOS/atari.
  6.  *  Written by Michael Rendell ({uunet,utai}michael@garfield), August 1897
  7.  *
  8.  * $Header: closedir.c,v 1.2 88/01/29 18:03:55 m68k Exp $
  9.  *
  10.  * $Log:    closedir.c,v $
  11.  *
  12.  * jrd 1.2
  13.  *
  14.  * Revision 1.1  88/01/29  18:03:55  m68k
  15.  * Initial revision
  16.  * 
  17.  */
  18. #include <types.h>
  19. #include <dir.h>
  20. #include <memory.h>
  21.  
  22. static    void    free_dircontents();
  23.  
  24. void
  25. closedir(dirp)
  26.     DIR    *dirp;
  27. {
  28.     free_dircontents(dirp->dd_contents);
  29.     free((char *) dirp);
  30. }
  31.  
  32.  
  33. static    void
  34. free_dircontents(dp)
  35.     struct    _dircontents    *dp;
  36. {
  37.     struct _dircontents    *odp;
  38.  
  39.     while (dp) {
  40.         if (dp->_d_entry)
  41.             free(dp->_d_entry);
  42.         dp = (odp = dp)->_d_next;
  43.         free((char *) odp);
  44.     }
  45. }
  46.