view pirollback/treewalk.c @ 191:0c631396b8ce

started grokdsn utility, parses header successfully
author Michael Spacefalcon <falcon@ivan.Harhan.ORG>
date Wed, 07 Jan 2015 06:55:33 +0000
parents 9f4469766c74
children
line wrap: on
line source

#include <sys/types.h>
#include <stdio.h>
#include <stdlib.h>
#include "types.h"
#include "struct.h"

extern struct inode_info inode[];
extern int last_inode;

static void
walk_level(curlev)
{
	int child;

	for (child = inode[curlev].descend; child;
	     child = inode[child].sibling) {
		inode[child].parent = curlev;
		walk_level(child);
	}
}

walk_tree()
{
	if (inode[1].type != 0xF2 || *(inode[1].dataptr) != '/' ||
	    inode[1].sibling) {
		fprintf(stderr, "error: inode #1 is not the active root\n");
		exit(1);
	}
	walk_level(1);
}