tsrc: use whatis instead of which - 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 4a18fa68b01bf8121a8660d3f5214e5927763251
 (DIR) parent bb7ff349fb314edffabb01c418e146d563548058
 (HTM) Author: Michael Teichgräber <mt@ib.wmipf.de>
       Date:   Wed,  8 Jul 2009 09:18:42 -0700
       
       src: use whatis instead of which
       
       Diffstat:
         M bin/src                             |       2 +-
         M src/cmd/acme/exec.c                 |       2 +-
         M src/cmd/vac/file.c                  |      18 +++++++++++++-----
       
       3 files changed, 15 insertions(+), 7 deletions(-)
       ---
 (DIR) diff --git a/bin/src b/bin/src
       t@@ -49,7 +49,7 @@ if(~ $#* 0) usage
        ifs='
        '
        for(i){
       -        wi=`{which $i >[2]/dev/null}
       +        wi=`{whatis $i >[2]/dev/null}
                if(test -f $i) go $i
                if not if(~ $#wi 1 && test -f $wi) go $wi
                if not echo 'src: can''t find '$i
 (DIR) diff --git a/src/cmd/acme/exec.c b/src/cmd/acme/exec.c
       t@@ -194,7 +194,7 @@ execute(Text *t, uint aq0, uint aq1, int external, Text *argt)
                                if(strlen(a) > EVENTSIZE){        /* too big; too bad */
                                        free(aa);
                                        free(a);
       -                                warning(nil, "`argument string too long\n");
       +                                warning(nil, "argument string too long\n");
                                        return;
                                }
                                f |= 8;
 (DIR) diff --git a/src/cmd/vac/file.c b/src/cmd/vac/file.c
       t@@ -1788,6 +1788,7 @@ vacfsopen(VtConn *z, char *file, int mode, ulong cachemem)
                        }
                        close(fd);
                }
       +fprint(2, "vacfsopen %V\n", score);
                return vacfsopenscore(z, score, mode, cachemem);
        }
        
       t@@ -1803,17 +1804,23 @@ vacfsopenscore(VtConn *z, u8int *score, int mode, ulong cachemem)
                VtEntry e;
        
                n = vtread(z, score, VtRootType, buf, VtRootSize);
       -        if(n < 0)
       +        if(n < 0) {
       +fprint(2, "read %r\n");
                        return nil;
       +        }
                if(n != VtRootSize){
                        werrstr("vtread on root too short");
       +fprint(2, "size %d\n", n);
                        return nil;
                }
        
       -        if(vtrootunpack(&rt, buf) < 0)
       +        if(vtrootunpack(&rt, buf) < 0) {
       +fprint(2, "unpack: %r\n");
                        return nil;
       +        }
        
                if(strcmp(rt.type, "vac") != 0) {
       +fprint(2, "bad type %s\n", rt.type);
                        werrstr("not a vac root");
                        return nil;
                }
       t@@ -1825,13 +1832,14 @@ vacfsopenscore(VtConn *z, u8int *score, int mode, ulong cachemem)
                memmove(e.score, rt.score, VtScoreSize);
                e.gen = 0;
                
       -        // Don't waste cache memory on directories
       +        // Don't waste cache memory on pointer blocks
                // when rt.blocksize is large.
                e.psize = (rt.blocksize/VtEntrySize)*VtEntrySize;
                if(e.psize > 60000)
                        e.psize = (60000/VtEntrySize)*VtEntrySize;
        
                e.dsize = rt.blocksize;
       +fprint(2, "openscore %d psize %d dsize %d\n", (int)rt.blocksize, (int)e.psize, (int)e.dsize);
                e.type = VtDirType;
                e.flags = VtEntryActive;
                e.size = 3*VtEntrySize;
       t@@ -1949,9 +1957,9 @@ vacfscreate(VtConn *z, int bsize, ulong cachemem)
                /*
                 * Fake up an empty vac fs.
                 */
       -        psize = bsize/VtEntrySize*VtEntrySize;
       +        psize = bsize/VtScoreSize*VtScoreSize;
                if(psize > 60000)
       -                psize = 60000/VtEntrySize*VtEntrySize;
       +                psize = 60000/VtScoreSize*VtScoreSize;
        fprint(2, "create bsize %d psize %d\n", bsize, psize);
        
                f = vtfilecreateroot(fs->cache, psize, bsize, VtDirType);