From 58698c9c1205e44c77734e7a32338f6c08bc4aaa Mon Sep 17 00:00:00 2001 From: rsc Date: Tue, 18 Jan 2005 20:45:12 +0000 Subject: add --- src/cmd/core.c | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 src/cmd/core.c (limited to 'src/cmd/core.c') diff --git a/src/cmd/core.c b/src/cmd/core.c new file mode 100644 index 00000000..8aa5e1d9 --- /dev/null +++ b/src/cmd/core.c @@ -0,0 +1,102 @@ +#include +#include +#include + +char *coredir(void); +void coreall(char*); +void corefile(char*, int); + +void +usage(void) +{ + fprint(2, "usage: core [dir | corefile]...\n"); + exits("usage"); +} + +void +main(int argc, char **argv) +{ + int i; + + ARGBEGIN{ + default: + usage(); + }ARGEND + + if(argc == 0){ + argc++; + *--argv = coredir(); + } + + for(i=0; imode&DMDIR) == 0) + corefile(name, 1); + free(d); + if((fd = open(name, OREAD)) < 0){ + fprint(2, "open %s: %r\n", name); + return; + } + n = dirreadall(fd, &d); + for(i=0; imtime)); + t[strlen(t)-1] = 0; /* newline */ + + if((hdr = crackhdr(name, OREAD)) == nil){ + if(explicit) + fprint(2, "%s: %r\n", name); + return; + } + if(hdr->ftype != FCORE){ + uncrackhdr(hdr); + if(explicit) + fprint(2, "%s: not a core file\n", name); + return; + } + print("acid %s # %s %s\n", name, t, hdr->cmd); + uncrackhdr(hdr); +} -- cgit v1.2.3