tsort cores; print stack as command - plan9port - [fork] Plan 9 from user space
 (HTM) git clone git://src.adamsgaard.dk/plan9port
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit d925d643cba25a7a3b7f530a42fb8dbc4e2f176e
 (DIR) parent 95f5b525d2eecb5ea90a056cff47f3bf946540aa
 (HTM) Author: rsc <devnull@localhost>
       Date:   Sun, 23 Jan 2005 22:51:46 +0000
       
       sort cores; print stack as command
       
       Diffstat:
         M src/cmd/core.c                      |      23 ++++++++++++++++-------
       
       1 file changed, 16 insertions(+), 7 deletions(-)
       ---
 (DIR) diff --git a/src/cmd/core.c b/src/cmd/core.c
       t@@ -43,6 +43,20 @@ coredir(void)
                return dir;
        }
        
       +int
       +timecmp(const void *va, const void *vb)
       +{
       +        Dir *a, *b;
       +
       +        a = (Dir*)va;
       +        b = (Dir*)vb;
       +        if(a->mtime < b->mtime)
       +                return 1;
       +        if(a->mtime > b->mtime)
       +                return -1;
       +        return 0;
       +}
       +
        void
        coreall(char *name)
        {
       t@@ -62,6 +76,7 @@ coreall(char *name)
                        return;
                }
                n = dirreadall(fd, &d);
       +        qsort(d, n, sizeof(d[0]), timecmp);
                for(i=0; i<n; i++){
                        p = smprint("%s/%s", name, d[i].name);
                        if(p == nil)
       t@@ -97,12 +112,6 @@ corefile(char *name, int explicit)
                                fprint(2, "%s: not a core file\n", name);
                        return;
                }
       -        print("acid %s # %s %s\n", name, t, hdr->cmd);
       -
       -        /*
       -         * To do: look at command line to determine binary.
       -         * Print stack.
       -         */
       +        print("stack %s\n\t# %s\n\t# %s\n", name, t, hdr->cmdline);
                uncrackhdr(hdr);
        }
       -