static struct pathelem *add_entry(struct pathelem *root, const char *name,

                                  unsigned type)

{

    struct pathelem **e;



    root->num_entries++;



    root = realloc(root, sizeof(*root)

                   + sizeof(root->entries[0])*root->num_entries);

    e = &root->entries[root->num_entries-1];



    *e = new_entry(root->pathname, root, name);

    if (is_dir_maybe(type)) {

        *e = add_dir_maybe(*e);

    }



    return root;

}

static struct pathelem *add_entry(struct pathelem *root, const char *name,

                                  unsigned type)

{

    struct pathelem **e;



    root->num_entries++;



    root = realloc(root, sizeof(*root)

                   + sizeof(root->entries[0])*root->num_entries);

    e = &root->entries[root->num_entries-1];



    *e = new_entry(root->pathname, root, name);

    if (is_dir_maybe(type)) {

        *e = add_dir_maybe(*e);

    }



    return root;

}

    root = realloc(root, sizeof(*root)
static struct pathelem *FUNC_0(struct pathelem *VAR_0, const char *VAR_1,

                                  unsigned VAR_2)

{

    struct pathelem **VAR_3;



    VAR_0->num_entries++;



    VAR_0 = realloc(VAR_0, sizeof(*VAR_0)

                   + sizeof(VAR_0->entries[0])*VAR_0->num_entries);

    VAR_3 = &VAR_0->entries[VAR_0->num_entries-1];



    *VAR_3 = new_entry(VAR_0->pathname, VAR_0, VAR_1);

    if (is_dir_maybe(VAR_2)) {

        *VAR_3 = add_dir_maybe(*VAR_3);

    }



    return VAR_0;

}

static struct pathelem *FUNC_0(struct pathelem *VAR_0, const char *VAR_1,
unsigned VAR_2)
{ struct pathelem **VAR_3; VAR_0->num_entries++; VAR_0 = realloc(VAR_0, sizeof(*VAR_0)
+ sizeof(VAR_0->entries[0])*VAR_0->num_entries); VAR_3 = &VAR_0->entries[VAR_0->num_entries-1]; *VAR_3 = new_entry(VAR_0->pathname, VAR_0, VAR_1); if (is_dir_maybe(VAR_2)) { *VAR_3 = add_dir_maybe(*VAR_3); } return VAR_0; }