view pirollback/treewalk.c @ 92:708f2452d1ae

armdis: full ldr/str decoding implemented
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Sun, 30 Mar 2014 01:47:28 +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);
}