text2 fixes - 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 80b4aedc11325793331a7bffb46e32ae3f9af8ac
 (DIR) parent 886a6f6c535f081e5d845db7ba79b16f2b68ef97
 (HTM) Author: rsc <devnull@localhost>
       Date:   Thu,  4 May 2006 18:03:11 +0000
       
       ext2 fixes
       
       Diffstat:
         M src/cmd/vbackup/config.c            |       1 +
         M src/cmd/vbackup/diskftp.c           |       7 ++++---
         M src/cmd/vbackup/disknfs.c           |      15 ++++++++++++---
         M src/cmd/vbackup/vnfs.c              |       4 +++-
       
       4 files changed, 20 insertions(+), 7 deletions(-)
       ---
 (DIR) diff --git a/src/cmd/vbackup/config.c b/src/cmd/vbackup/config.c
       t@@ -463,6 +463,7 @@ fsysconfigreaddir(Fsys *fsys, SunAuthUnix *au, Nfs3Handle *h, u32int count, u64i
                ep = data+count;
                while(e && p < ep){
                        ne.name = e->name;
       +                ne.namelen = strlen(e->name);
                        ne.cookie = ++cookie;
                        ne.fileid = *(u64int*)e->sha1;
                        if(nfs3entrypack(p, ep, &np, &ne) < 0)
 (DIR) diff --git a/src/cmd/vbackup/diskftp.c b/src/cmd/vbackup/diskftp.c
       t@@ -15,7 +15,7 @@ usage(void)
                fprint(2, "\tcat file\n");
                fprint(2, "\tls dir\n");
                fprint(2, "\tstat file\n");
       -        exits("usage");
       +        threadexitsall("usage");
        }
        
        void
       t@@ -24,10 +24,10 @@ printattr(Nfs3Attr *attr)
                Fmt fmt;
                char buf[256];
        
       -        fmtfdinit(&fmt, 1, buf, sizeof buf);
       +        fmtfdinit(&fmt, 2, buf, sizeof buf);
                nfs3attrprint(&fmt, attr);
                fmtfdflush(&fmt);
       -        print("\n");
       +        fprint(2, "\n");
        }
        
        char buf[8192];
       t@@ -105,6 +105,7 @@ threadmain(int argc, char **argv)
                if(strcmp(argv[1], "cat") == 0){
                        switch(attr.type){
                        case Nfs3FileReg:
       +                case Nfs3FileDir:
                                offset = 0;
                                for(;;){
                                        x(fsysreadfile(fsys, &au, &h, sizeof buf, offset, &data, &n, &eof));
 (DIR) diff --git a/src/cmd/vbackup/disknfs.c b/src/cmd/vbackup/disknfs.c
       t@@ -39,6 +39,14 @@ threadmain(int argc, char **argv)
                addr = "*";
        
                ARGBEGIN{
       +        default:
       +                usage();
       +        case 'L':
       +                if(srv->localonly == 0)
       +                        srv->localonly = 1;
       +                else
       +                        srv->localparanoia = 1;
       +                break;
                case 'R':
                        srv->chatty++;
                        break;
       t@@ -70,14 +78,15 @@ threadmain(int argc, char **argv)
        
                if(sunsrvudp(srv, addr) < 0)
                        sysfatal("starting server: %r");
       -        sunsrvprog(srv, &nfs3prog, nfs3chan);
       -        sunsrvprog(srv, &nfsmount3prog, mountchan);
        
                sunsrvthreadcreate(srv, nfs3proc, nfs3chan);
                sunsrvthreadcreate(srv, mount3proc, mountchan);
        
       +        sunsrvprog(srv, &nfs3prog, nfs3chan);
       +        sunsrvprog(srv, &nfsmount3prog, mountchan);
                fsgetroot(&h);
       -        print("mountbackups -h %.*H %s /mountpoint\n", h.len, h.h, addr);
       +
       +        print("vmount0 -h %.*H %s /mnt\n", h.len, h.h, addr);
        
                threadexits(nil);
        }
 (DIR) diff --git a/src/cmd/vbackup/vnfs.c b/src/cmd/vbackup/vnfs.c
       t@@ -116,7 +116,8 @@ threadmain(int argc, char **argv)
                        tracecalls = 1;
                        break;
                case 'V':
       -                chattyventi = 1;
       +                if(chattyventi++)
       +                        vttracelevel++;
                        break;
                case 'a':
                        addr = EARGF(usage());
       t@@ -836,6 +837,7 @@ cnodereaddir(Cnode *n, u32int count, u64int cookie, uchar **pdata, u32int *pcoun
                                continue;
                        }
                        ne.name = n->name;
       +                ne.namelen = strlen(n->name);
                        ne.cookie = ++cookie;
                        ne.fileid = *(u64int*)n->handle;
                        if(nfs3entrypack(p, ep, &np, &ne) < 0)