FreeCalypso > hg > freecalypso-reveng
annotate pirollback/inopath.c @ 358:49fe64a5e207
fluid-mnf/serial.c: comment typo fix
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Fri, 13 Mar 2020 21:15:41 +0000 | 
| parents | 18472a2ccf55 | 
| children | 
| rev | line source | 
|---|---|
| 45 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1 #include <stdio.h> | 
| 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 2 #include <stdlib.h> | 
| 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 3 #include "pathname.h" | 
| 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 4 | 
| 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 5 extern char *imgfile; | 
| 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 6 extern int last_inode; | 
| 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 7 | 
| 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 8 main(argc, argv) | 
| 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 9 char **argv; | 
| 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 10 { | 
| 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 11 int ino; | 
| 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 12 char *strtoul_endp; | 
| 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 13 char pathname[PATHNAME_BUF_SIZE]; | 
| 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 14 | 
| 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 15 if (argc != 3) { | 
| 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 16 usage: fprintf(stderr, "usage: %s ffs-image inode\n", argv[0]); | 
| 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 17 exit(1); | 
| 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 18 } | 
| 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 19 imgfile = argv[1]; | 
| 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 20 ino = strtoul(argv[2], &strtoul_endp, 16); | 
| 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 21 if (!argv[2][0] || *strtoul_endp) | 
| 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 22 goto usage; | 
| 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 23 read_img_file(); | 
| 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 24 read_inodes(); | 
| 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 25 if (ino < 1 || ino > last_inode) { | 
| 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 26 fprintf(stderr, "%s: bad inode number specified\n", argv[0]); | 
| 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 27 exit(1); | 
| 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 28 } | 
| 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 29 walk_tree(); | 
| 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 30 check_object_names(); | 
| 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 31 if (pathname_of_inode(ino, pathname) < 0) { | 
| 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 32 fprintf(stderr, "unable to get the pathname\n"); | 
| 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 33 exit(1); | 
| 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 34 } | 
| 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 35 printf("%s\n", pathname); | 
| 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 36 exit(0); | 
| 
18472a2ccf55
pirollback: pathname reconstruction implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 37 } | 
