fix wrong use of qid.type == QTDIR comparsion
This commit is contained in:
parent
577d31ab13
commit
260fcc61c0
7 changed files with 13 additions and 11 deletions
|
@ -240,7 +240,7 @@ fsmkdir(Dir *d, int level, void *aux)
|
||||||
fsmkqid(&d->qid, level, aux);
|
fsmkqid(&d->qid, level, aux);
|
||||||
|
|
||||||
d->mode = 0444;
|
d->mode = 0444;
|
||||||
if(d->qid.type == QTDIR)
|
if(d->qid.type & QTDIR)
|
||||||
d->mode |= DMDIR | 0111;
|
d->mode |= DMDIR | 0111;
|
||||||
|
|
||||||
ri = nil;
|
ri = nil;
|
||||||
|
@ -405,7 +405,7 @@ fswalk1(Fid *fid, char *name, Qid *qid)
|
||||||
Revfile *rf;
|
Revfile *rf;
|
||||||
int i, level;
|
int i, level;
|
||||||
|
|
||||||
if(!(fid->qid.type&QTDIR))
|
if((fid->qid.type & QTDIR) == 0)
|
||||||
return "walk in non-directory";
|
return "walk in non-directory";
|
||||||
|
|
||||||
rf = fid->aux;
|
rf = fid->aux;
|
||||||
|
|
|
@ -160,7 +160,7 @@ xdirread0(char **path, int (*namecmp)(char *, char *), Dir **d)
|
||||||
n = -1;
|
n = -1;
|
||||||
if(fd < 0 || t == nil)
|
if(fd < 0 || t == nil)
|
||||||
goto out;
|
goto out;
|
||||||
if(t->qid.type != QTDIR){
|
if((t->qid.type & QTDIR) == 0){
|
||||||
werrstr("not a directory");
|
werrstr("not a directory");
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
|
@ -122,7 +122,7 @@ noaccess:
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
isdir = d->qid.type == QTDIR;
|
isdir = (d->qid.type & QTDIR) != 0;
|
||||||
switch(cdisp){
|
switch(cdisp){
|
||||||
case FILE_SUPERSEDE:
|
case FILE_SUPERSEDE:
|
||||||
act = FILE_SUPERSEDED;
|
act = FILE_SUPERSEDED;
|
||||||
|
|
|
@ -383,7 +383,7 @@ errout:
|
||||||
xcmd, 0, nfid, act, tofiletime(d->mtime), tofiletime(d->atime),
|
xcmd, 0, nfid, act, tofiletime(d->mtime), tofiletime(d->atime),
|
||||||
tofiletime(d->mtime), tofiletime(d->mtime), extfileattr(d),
|
tofiletime(d->mtime), tofiletime(d->mtime), extfileattr(d),
|
||||||
allocsize(d->length, t->share->blocksize),
|
allocsize(d->length, t->share->blocksize),
|
||||||
d->length, f->rtype, d->qid.type == QTDIR, &r->rp)){
|
d->length, f->rtype, (d->qid.type & QTDIR) != 0, &r->rp)){
|
||||||
delfid(t, nfid);
|
delfid(t, nfid);
|
||||||
r->respond(r, STATUS_INVALID_SMB);
|
r->respond(r, STATUS_INVALID_SMB);
|
||||||
} else
|
} else
|
||||||
|
@ -911,7 +911,7 @@ smbcheckdirectory(Req *r, uchar *h, uchar *p, uchar *e)
|
||||||
r->respond(r, smbmkerror());
|
r->respond(r, smbmkerror());
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
if(d->qid.type != QTDIR){
|
if((d->qid.type & QTDIR) == 0){
|
||||||
r->respond(r, STATUS_OBJECT_PATH_NOT_FOUND);
|
r->respond(r, STATUS_OBJECT_PATH_NOT_FOUND);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
@ -1057,7 +1057,7 @@ qpackdir(Req *, Dir *d, Tree *t, File *f, int level, uchar *b, uchar *p, uchar *
|
||||||
alen = allocsize(dlen, share->blocksize);
|
alen = allocsize(dlen, share->blocksize);
|
||||||
atime = tofiletime(d->atime);
|
atime = tofiletime(d->atime);
|
||||||
mtime = tofiletime(d->mtime);
|
mtime = tofiletime(d->mtime);
|
||||||
isdir = d->qid.type == QTDIR;
|
isdir = (d->qid.type & QTDIR) != 0;
|
||||||
delete = f && deletedfile(f);
|
delete = f && deletedfile(f);
|
||||||
link = !delete;
|
link = !delete;
|
||||||
|
|
||||||
|
@ -1205,7 +1205,7 @@ setfilepathinformation(Req *r, Dir *d, File *f, char *path, int level, uchar *b,
|
||||||
case 0x0104: /* SMB_SET_FILE_END_OF_FILE_INFO */
|
case 0x0104: /* SMB_SET_FILE_END_OF_FILE_INFO */
|
||||||
if(f == nil || !unpack(b, p, e, "v", &len))
|
if(f == nil || !unpack(b, p, e, "v", &len))
|
||||||
goto unsup;
|
goto unsup;
|
||||||
if(d->qid.type == QTDIR)
|
if(d->qid.type & QTDIR)
|
||||||
return STATUS_OS2_INVALID_ACCESS;
|
return STATUS_OS2_INVALID_ACCESS;
|
||||||
if(len != -1LL)
|
if(len != -1LL)
|
||||||
nd.length = len;
|
nd.length = len;
|
||||||
|
|
|
@ -144,7 +144,9 @@ extfileattr(Dir *d)
|
||||||
{
|
{
|
||||||
int a;
|
int a;
|
||||||
|
|
||||||
a = (d->qid.type == QTDIR) ? ATTR_DIRECTORY : ATTR_NORMAL;
|
a = (d->qid.type & QTDIR) ? ATTR_DIRECTORY : ATTR_NORMAL;
|
||||||
|
if((d->qid.type & QTTMP) == 0)
|
||||||
|
a |= ATTR_ARCHIVE;
|
||||||
if((d->mode & 0222) == 0)
|
if((d->mode & 0222) == 0)
|
||||||
a |= ATTR_READONLY;
|
a |= ATTR_READONLY;
|
||||||
if(d->name[0] == '.' && d->name[1] && d->name[1] != '.')
|
if(d->name[0] == '.' && d->name[1] && d->name[1] != '.')
|
||||||
|
|
|
@ -754,7 +754,7 @@ mktorrent(int fd, char *url)
|
||||||
|
|
||||||
if((d = dirfstat(fd)) == nil)
|
if((d = dirfstat(fd)) == nil)
|
||||||
return -1;
|
return -1;
|
||||||
if(d->qid.type == QTDIR){
|
if(d->qid.type & QTDIR){
|
||||||
free(d);
|
free(d);
|
||||||
werrstr("file is a directory");
|
werrstr("file is a directory");
|
||||||
return -1;
|
return -1;
|
||||||
|
|
|
@ -211,7 +211,7 @@ fsmkdir(Dir *d, int level, void *aux)
|
||||||
d->uid = estrdup(user);
|
d->uid = estrdup(user);
|
||||||
d->gid = estrdup(user);
|
d->gid = estrdup(user);
|
||||||
d->muid = estrdup(user);
|
d->muid = estrdup(user);
|
||||||
if(d->qid.type == QTDIR)
|
if(d->qid.type & QTDIR)
|
||||||
d->mode |= DMDIR | 0111;
|
d->mode |= DMDIR | 0111;
|
||||||
switch(level){
|
switch(level){
|
||||||
case Qheader:
|
case Qheader:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue