FreeCalypso > hg > freecalypso-reveng
view pirollback/inopath.c @ 180:25b54c5ad6c2
calextract tool written, works
author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
---|---|
date | Sat, 12 Jul 2014 00:05:22 +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); }