Initial import package mtools: Programs for accessing MS-DOS disks without mounting...
[profile/ivi/mtools.git] / subdir.c
1 /*  Copyright 1986-1992 Emmet P. Gray.
2  *  Copyright 1996,1997,2001,2002,2009 Alain Knaff.
3  *  This file is part of mtools.
4  *
5  *  Mtools is free software: you can redistribute it and/or modify
6  *  it under the terms of the GNU General Public License as published by
7  *  the Free Software Foundation, either version 3 of the License, or
8  *  (at your option) any later version.
9  *
10  *  Mtools is distributed in the hope that it will be useful,
11  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  *  GNU General Public License for more details.
14  *
15  *  You should have received a copy of the GNU General Public License
16  *  along with Mtools.  If not, see <http://www.gnu.org/licenses/>.
17  */
18
19 #include "sysincludes.h"
20 #include "msdos.h"
21 #include "mtools.h"
22 #include "vfat.h"
23 #include "file.h"
24 #include "buffer.h"
25
26 /*
27  * Find the directory and load a new dir_chain[].  A null directory
28  * is OK.  Returns a 1 on error.
29  */
30
31
32 void bufferize(Stream_t **Dir)
33 {
34         Stream_t *BDir;
35
36         if(!*Dir)
37                 return;
38         BDir = buf_init(*Dir, 64*16384, 512, MDIR_SIZE);
39         if(!BDir){
40                 FREE(Dir);
41                 *Dir = NULL;
42         } else
43                 *Dir = BDir;
44 }