Пример #1
0
Файл: main.c Проект: thutt/lmsbw
static directory_t *
create_structure(int depth, char *pathname)
{
    directory_t    *dir;
    unsigned        i;

    assert(depth == 0);

    /* Create the root directory descriptor. */
    dir              = allocate_directory(1);
    dir->depth       = 0;
    dir->pathname    = strdup(pathname);

    allocate_directories(dir, 0);
    dir->n_sources = 0;         /* top level directory never has sources */
    dir->sources   = NULL;

    initialize_sources(dir, depth);
    initialize_directories(dir, depth + 1);

    for (i = 0; i < dir->n_directories; ++i) {
         create_subdirectory_tree(&dir->directories[i],
                                  dir->pathname, depth + 2, i);
    }
    return dir;
}
Пример #2
0
int bd_readdir(const char *pDirLocation, DirEntry **ppListeFichiers) {
    int iNode = find_iNode(pDirLocation);

    if (iNode != -1) {
        return allocate_directory(iNode, ppListeFichiers);
    }

    return iNode;
}
Пример #3
0
Файл: main.c Проект: thutt/lmsbw
static void
allocate_directories(directory_t *dir, unsigned allow_zero)
{
    unsigned n_directories = random_in_range(arg_subdirs);

    while (!allow_zero && n_directories == 0) {
        n_directories = random_in_range(arg_subdirs);
    }
    dir->n_directories = n_directories;
    dir->directories   = allocate_directory(n_directories);
}