summaryrefslogtreecommitdiff
path: root/source4/ntvfs/posix
diff options
context:
space:
mode:
authorJames Peach <jpeach@samba.org>2006-04-24 00:16:51 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:04:14 -0500
commit6ab33938d5239e8688440f65e802f627622d301b (patch)
tree7c2253d8e3252ccd973b2d2d36754d0d0e196d7a /source4/ntvfs/posix
parentf380d365eaad89db2c46331a3fa2d5d8600aeba1 (diff)
downloadsamba-6ab33938d5239e8688440f65e802f627622d301b.tar.gz
samba-6ab33938d5239e8688440f65e802f627622d301b.tar.bz2
samba-6ab33938d5239e8688440f65e802f627622d301b.zip
r15186: Introduce ISDOT and ISDOTDOT macros for testing whether a filename is
"." for "..". These express the intention better that strcmp or strequal and improve searchability via cscope/ctags. (This used to be commit 7e4ad7e8e5ec266b969e3075c4ad7f021571f24e)
Diffstat (limited to 'source4/ntvfs/posix')
-rw-r--r--source4/ntvfs/posix/pvfs_dirlist.c10
-rw-r--r--source4/ntvfs/posix/pvfs_resolve.c4
-rw-r--r--source4/ntvfs/posix/pvfs_unlink.c4
-rw-r--r--source4/ntvfs/posix/vfs_posix.c5
4 files changed, 10 insertions, 13 deletions
diff --git a/source4/ntvfs/posix/pvfs_dirlist.c b/source4/ntvfs/posix/pvfs_dirlist.c
index a61fc458b3..a3eaca3cbb 100644
--- a/source4/ntvfs/posix/pvfs_dirlist.c
+++ b/source4/ntvfs/posix/pvfs_dirlist.c
@@ -218,8 +218,7 @@ const char *pvfs_list_next(struct pvfs_dir *dir, uint_t *ofs)
while ((de = readdir(dir->dir))) {
const char *dname = de->d_name;
- if (strcmp(dname, ".") == 0 ||
- strcmp(dname, "..") == 0) {
+ if (ISDOT(dname) || ISDOT(dname)) {
continue;
}
@@ -269,13 +268,13 @@ NTSTATUS pvfs_list_seek(struct pvfs_dir *dir, const char *name, uint_t *ofs)
struct dirent *de;
int i;
- if (strcmp(name, ".") == 0) {
+ if (ISDOT(name)) {
dir->offset = DIR_OFFSET_DOTDOT;
*ofs = dir->offset;
return NT_STATUS_OK;
}
- if (strcmp(name, "..") == 0) {
+ if (ISDOTDOT(name)) {
dir->offset = DIR_OFFSET_BASE;
*ofs = dir->offset;
return NT_STATUS_OK;
@@ -324,8 +323,7 @@ BOOL pvfs_directory_empty(struct pvfs_state *pvfs, struct pvfs_filename *name)
}
while ((de = readdir(dir))) {
- if (strcmp(de->d_name, ".") != 0 &&
- strcmp(de->d_name, "..") != 0) {
+ if (!ISDOT(de->d_name) && !ISDOTDOT(de->d_name)) {
closedir(dir);
return False;
}
diff --git a/source4/ntvfs/posix/pvfs_resolve.c b/source4/ntvfs/posix/pvfs_resolve.c
index b8e55c85bf..70a1c0523a 100644
--- a/source4/ntvfs/posix/pvfs_resolve.c
+++ b/source4/ntvfs/posix/pvfs_resolve.c
@@ -372,7 +372,7 @@ static NTSTATUS pvfs_reduce_name(TALLOC_CTX *mem_ctx, const char **fname, uint_t
if (strcmp(components[i], "") == 0) {
continue;
}
- if (strcmp(components[i], ".") == 0 || err_count) {
+ if (ISDOT(components[i]) || err_count) {
err_count++;
}
}
@@ -394,7 +394,7 @@ static NTSTATUS pvfs_reduce_name(TALLOC_CTX *mem_ctx, const char **fname, uint_t
i--;
continue;
}
- if (strcmp(components[i], "..") == 0) {
+ if (ISDOTDOT(components[i])) {
if (i < 1) return NT_STATUS_OBJECT_PATH_SYNTAX_BAD;
memmove(&components[i-1], &components[i+1],
sizeof(char *)*(num_components-(i+1)));
diff --git a/source4/ntvfs/posix/pvfs_unlink.c b/source4/ntvfs/posix/pvfs_unlink.c
index 4477360deb..c40634035d 100644
--- a/source4/ntvfs/posix/pvfs_unlink.c
+++ b/source4/ntvfs/posix/pvfs_unlink.c
@@ -22,6 +22,7 @@
#include "includes.h"
#include "vfs_posix.h"
+#include "system/dir.h"
/*
@@ -164,8 +165,7 @@ NTSTATUS pvfs_unlink(struct ntvfs_module_context *ntvfs,
while ((fname = pvfs_list_next(dir, &ofs))) {
/* this seems to be a special case */
if ((unl->unlink.in.attrib & FILE_ATTRIBUTE_DIRECTORY) &&
- (strcmp(fname, ".") == 0 ||
- strcmp(fname, "..") == 0)) {
+ (ISDOT(fname) || ISDOTDOT(fname))) {
return NT_STATUS_OBJECT_NAME_INVALID;
}
diff --git a/source4/ntvfs/posix/vfs_posix.c b/source4/ntvfs/posix/vfs_posix.c
index 2d40ceb85d..eddc49c919 100644
--- a/source4/ntvfs/posix/vfs_posix.c
+++ b/source4/ntvfs/posix/vfs_posix.c
@@ -286,7 +286,6 @@ NTSTATUS ntvfs_posix_init(void)
{
NTSTATUS ret;
struct ntvfs_ops ops;
- NTVFS_CURRENT_CRITICAL_SIZES(vers);
ZERO_STRUCT(ops);
@@ -329,14 +328,14 @@ NTSTATUS ntvfs_posix_init(void)
under the name 'default' as we wish to be the default
backend, and also register as 'posix' */
ops.name = "default";
- ret = ntvfs_register(&ops, &vers);
+ ret = ntvfs_register(&ops);
if (!NT_STATUS_IS_OK(ret)) {
DEBUG(0,("Failed to register POSIX backend as '%s'!\n", ops.name));
}
ops.name = "posix";
- ret = ntvfs_register(&ops, &vers);
+ ret = ntvfs_register(&ops);
if (!NT_STATUS_IS_OK(ret)) {
DEBUG(0,("Failed to register POSIX backend as '%s'!\n", ops.name));