merge
diff --git a/src/cmd/9p.c b/src/cmd/9p.c
index 1befa6b..2e70399 100644
--- a/src/cmd/9p.c
+++ b/src/cmd/9p.c
@@ -538,7 +538,7 @@
}
if(sort)
qsort(d, n, sizeof d[0], dircmp);
- for(j=0; j<5; j++)
+ for(j=0; j<4; j++)
len[j] = 0;
for(i=0; i<n; i++){
d[i].type = 'M';
diff --git a/src/cmd/9pfuse/fuse.c b/src/cmd/9pfuse/fuse.c
index b1210b7..e78bae8 100644
--- a/src/cmd/9pfuse/fuse.c
+++ b/src/cmd/9pfuse/fuse.c
@@ -804,6 +804,8 @@
"/Contents/Resources/load_fusefs", 0) < 0 &&
access(f="/Library/Extensions/fusefs.kext"
"/Contents/Resources/load_fusefs", 0) < 0 &&
+ access(f="/Library/Filesystems"
+ "/fusefs.fs/Support/load_fusefs", 0) < 0 &&
access(f="/System/Library/Filesystems"
"/fusefs.fs/Support/load_fusefs", 0) < 0){
werrstr("cannot find load_fusefs");
@@ -843,8 +845,15 @@
/*
* Different versions of MacFUSE put the
* mount_fusefs binary in different places.
- * Try both.
+ * Try all.
*/
+ /* Leopard location */
+ putenv("MOUNT_FUSEFS_DAEMON_PATH",
+ "/Library/Filesystems/fusefs.fs/Support/mount_fusefs");
+ execl("/Library/Filesystems/fusefs.fs/Support/mount_fusefs",
+ "mount_fusefs", buf, mtpt, nil);
+
+ /* possible Tiger locations */
execl("/System/Library/Filesystems/fusefs.fs/mount_fusefs",
"mount_fusefs", buf, mtpt, nil);
execl("/System/Library/Filesystems/fusefs.fs/Support/mount_fusefs",
diff --git a/src/cmd/9pfuse/main.c b/src/cmd/9pfuse/main.c
index 82d7b1f..50c835b 100644
--- a/src/cmd/9pfuse/main.c
+++ b/src/cmd/9pfuse/main.c
@@ -22,12 +22,21 @@
#ifndef O_DIRECTORY
#define O_DIRECTORY 0
#endif
+
#ifndef O_LARGEFILE
-#if defined(__linux__)
-#define O_LARGEFILE 0100000 /* Sigh */
-#else
-#define O_LARGEFILE 0
+# if defined(__linux__)
+# define O_LARGEFILE 0100000 /* Sigh */
+# else
+# define O_LARGEFILE 0
+# endif
#endif
+
+#ifndef O_CLOEXEC
+# if defined(__linux__)
+# define O_CLOEXEC 02000000 /* Sigh */
+# else
+# define O_CLOEXEC 0
+# endif
#endif
@@ -552,7 +561,7 @@
flags = in->flags;
openmode = flags&3;
flags &= ~3;
- flags &= ~(O_DIRECTORY|O_NONBLOCK|O_LARGEFILE);
+ flags &= ~(O_DIRECTORY|O_NONBLOCK|O_LARGEFILE|O_CLOEXEC);
if(flags & O_TRUNC){
openmode |= OTRUNC;
flags &= ~O_TRUNC;
diff --git a/src/cmd/acme/cols.c b/src/cmd/acme/cols.c
index 3ac780b..31b2780 100644
--- a/src/cmd/acme/cols.c
+++ b/src/cmd/acme/cols.c
@@ -534,11 +534,12 @@
for(i=0; i<c->nw; i++){
w = c->w[i];
if(ptinrect(p, w->r)){
- if(ptinrect(p, w->tagtop) || ptinrect(p, w->tag.fr.r))
+ if(ptinrect(p, w->tagtop) || ptinrect(p, w->tag.all))
return &w->tag;
- if(ptinrect(p, w->body.scrollr) || ptinrect(p, w->body.fr.r))
- return &w->body;
- return nil;
+ /* exclude partial line at bottom */
+ if(p.x >= w->body.scrollr.max.x && p.y >= w->body.fr.r.max.y)
+ return nil;
+ return &w->body;
}
}
return nil;
diff --git a/src/cmd/acme/look.c b/src/cmd/acme/look.c
index db69927..66c6c66 100644
--- a/src/cmd/acme/look.c
+++ b/src/cmd/acme/look.c
@@ -365,11 +365,11 @@
fbuffree(s);
return TRUE;
}
- if(around && q>=ct->q1)
- break;
--nb;
b++;
q++;
+ if(around && q>=ct->q1)
+ break;
}
fbuffree(s);
return FALSE;
diff --git a/src/cmd/upas/nfs/imap.c b/src/cmd/upas/nfs/imap.c
index 0a93b6b..64ffeb1 100644
--- a/src/cmd/upas/nfs/imap.c
+++ b/src/cmd/upas/nfs/imap.c
@@ -569,13 +569,19 @@
imapcopylist(Imap *z, char *nbox, Msg **m, uint nm)
{
int rv;
- char *name;
+ char *name, *p;
if(nm == 0)
return 0;
qlock(&z->lk);
- name = esmprint("%Z", nbox);
+ if(strcmp(nbox, "mbox") == 0)
+ name = estrdup("INBOX");
+ else{
+ p = esmprint("%s%s", z->root, nbox);
+ name = esmprint("%Z", p);
+ free(p);
+ }
rv = imaplistcmd(z, m[0]->box, "UID COPY", m, nm, name);
free(name);
qunlock(&z->lk);
diff --git a/src/cmd/upas/vf/unvf.c b/src/cmd/upas/vf/unvf.c
index 92af6bf..aecbca6 100644
--- a/src/cmd/upas/vf/unvf.c
+++ b/src/cmd/upas/vf/unvf.c
@@ -24,7 +24,7 @@
while((p = Brdstr(&b, '\n', 1)) != nil){
if(p[0] == 0)
break;
- if(strncmp(p, "Content-Transfer-Encoding: ", 27) == 0)
+ if(cistrncmp(p, "Content-Transfer-Encoding: ", 27) == 0)
encoding = strdup(p+27);
free(p);
}
diff --git a/src/cmd/vbackup/diskcat.c b/src/cmd/vbackup/diskcat.c
index 9258689..bab1176 100644
--- a/src/cmd/vbackup/diskcat.c
+++ b/src/cmd/vbackup/diskcat.c
@@ -33,7 +33,7 @@
if((disk = diskcache(disk, 16384, 16)) == nil)
sysfatal("diskcache: %r");
if((fsys = fsysopen(disk)) == nil)
- sysfatal("ffsopen: %r");
+ sysfatal("fsysopen: %r");
zero = emalloc(fsys->blocksize);
fprint(2, "%d blocks total\n", fsys->nblock);
diff --git a/src/cmd/vbackup/diskftp.c b/src/cmd/vbackup/diskftp.c
index bf58662..33d278b 100644
--- a/src/cmd/vbackup/diskftp.c
+++ b/src/cmd/vbackup/diskftp.c
@@ -72,7 +72,7 @@
if((disk = diskcache(disk, 16384, 16)) == nil)
sysfatal("diskcache: %r");
if((fsys = fsysopen(disk)) == nil)
- sysfatal("ffsopen: %r");
+ sysfatal("fsysopen: %r");
allowall = 1;
memset(&au, 0, sizeof au);
diff --git a/src/cmd/vbackup/disknfs.c b/src/cmd/vbackup/disknfs.c
index 8ad4ffb..b51d0a3 100644
--- a/src/cmd/vbackup/disknfs.c
+++ b/src/cmd/vbackup/disknfs.c
@@ -67,7 +67,7 @@
sysfatal("diskcache: %r");
if((fsys = fsysopen(disk)) == nil)
- sysfatal("ffsopen: %r");
+ sysfatal("fsysopen: %r");
nfs3chan = chancreate(sizeof(SunMsg*), 0);
mountchan = chancreate(sizeof(SunMsg*), 0);
diff --git a/src/cmd/vbackup/vbackup.c b/src/cmd/vbackup/vbackup.c
index 67d2b9b..d027f35 100644
--- a/src/cmd/vbackup/vbackup.c
+++ b/src/cmd/vbackup/vbackup.c
@@ -164,7 +164,7 @@
if((disk = diskcache(disk, 32768, 2*MAXQ+16)) == nil)
sysfatal("diskcache: %r");
if((fsys = fsysopen(disk)) == nil)
- sysfatal("ffsopen: %r");
+ sysfatal("fsysopen: %r");
/*
* connect to venti
diff --git a/src/cmd/vbackup/vcat.c b/src/cmd/vbackup/vcat.c
index 01320fb..0346963 100644
--- a/src/cmd/vbackup/vcat.c
+++ b/src/cmd/vbackup/vcat.c
@@ -52,7 +52,7 @@
if((disk = diskopenventi(c, score)) == nil)
sysfatal("diskopenventi: %r");
if((fsys = fsysopen(disk)) == nil)
- sysfatal("ffsopen: %r");
+ sysfatal("fsysopen: %r");
zero = emalloc(fsys->blocksize);
fprint(2, "%d blocks total\n", fsys->nblock);
diff --git a/src/cmd/vbackup/vftp.c b/src/cmd/vbackup/vftp.c
index c9dd494..90af42e 100644
--- a/src/cmd/vbackup/vftp.c
+++ b/src/cmd/vbackup/vftp.c
@@ -418,7 +418,7 @@
sysfatal("diskopenventi: %r");
}
if((fsys = fsysopen(disk)) == nil)
- sysfatal("ffsopen: %r");
+ sysfatal("fsysopen: %r");
fprint(2, "block size %d\n", fsys->blocksize);
buf = emalloc(fsys->blocksize);