commit 58698c9c1205e44c77734e7a32338f6c08bc4aaa from: rsc date: Tue Jan 18 20:45:12 2005 UTC add commit - 20173464d2169892bde1a91bbfd1c2a811a79ace commit + 58698c9c1205e44c77734e7a32338f6c08bc4aaa blob - /dev/null blob + 8aa5e1d96fc689b97537ef069daa4965971cded5 (mode 644) --- /dev/null +++ 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); +}