(dot_or_dotdot): ...new static inline function.
* src/remove.c (rm_1): Reflect this renaming.
* src/ls.c (basename_is_dot_or_dotdot): Likewise.
2006-08-27 Jim Meyering <jim@meyering.net>
+ * src/system.h (DOT_OR_DOTDOT): Remove macro. Rewrite as a...
+ (dot_or_dotdot): ...new static inline function.
+ * src/remove.c (rm_1): Reflect this renaming.
+ * src/ls.c (basename_is_dot_or_dotdot): Likewise.
+
* src/copy.c (copy_internal): Add comments.
2006-08-26 Paul Eggert <eggert@cs.ucla.edu>
basename_is_dot_or_dotdot (const char *name)
{
char const *base = last_component (name);
- return DOT_OR_DOTDOT (base);
+ return dot_or_dotdot (base);
}
/* Remove any entries from FILES that are for directories,
struct rm_options const *x, int *cwd_errno)
{
char const *base = last_component (filename);
- if (DOT_OR_DOTDOT (base))
+ if (dot_or_dotdot (base))
{
error (0, 0, _("cannot remove `.' or `..'"));
return RM_ERROR;
#include "unlocked-io.h"
#include "same-inode.h"
-#define DOT_OR_DOTDOT(Basename) \
- (Basename[0] == '.' && (Basename[1] == '\0' \
- || (Basename[1] == '.' && Basename[2] == '\0')))
+static inline bool
+dot_or_dotdot (char const *file_name)
+{
+ return (file_name[0] == '.'
+ && (file_name[1] == '\0'
+ || (file_name[1] == '.'
+ && file_name[2] == '\0')));
+}
/* A wrapper for readdir so that callers don't see entries for `.' or `..'. */
static inline struct dirent const *
while (1)
{
struct dirent const *dp = readdir (dirp);
- if (dp == NULL || ! DOT_OR_DOTDOT (dp->d_name))
+ if (dp == NULL || ! dot_or_dotdot (dp->d_name))
return dp;
}
}