view pirollback/inopath.c @ 361:5d1c186cc3cf

fluid-mnf/target-bin/cmd39.m0: hand-crafted by copying cmd.m0 and manually patching the S3 record that contains the 16-bit word at 0x1140, the literal pool DPLL init constant used by hardware_init_calypso()
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 14 Mar 2020 19:33:52 +0000
parents 18472a2ccf55
children
line wrap: on
line source

#include <stdio.h>
#include <stdlib.h>
#include "pathname.h"

extern char *imgfile;
extern int last_inode;

main(argc, argv)
	char **argv;
{
	int ino;
	char *strtoul_endp;
	char pathname[PATHNAME_BUF_SIZE];

	if (argc != 3) {
usage:		fprintf(stderr, "usage: %s ffs-image inode\n", argv[0]);
		exit(1);
	}
	imgfile = argv[1];
	ino = strtoul(argv[2], &strtoul_endp, 16);
	if (!argv[2][0] || *strtoul_endp)
		goto usage;
	read_img_file();
	read_inodes();
	if (ino < 1 || ino > last_inode) {
		fprintf(stderr, "%s: bad inode number specified\n", argv[0]);
		exit(1);
	}
	walk_tree();
	check_object_names();
	if (pathname_of_inode(ino, pathname) < 0) {
		fprintf(stderr, "unable to get the pathname\n");
		exit(1);
	}
	printf("%s\n", pathname);
	exit(0);
}