diff options
-rw-r--r-- | gnu/usr.bin/cvs/cvs/ignore.c | 2 | ||||
-rw-r--r-- | gnu/usr.bin/cvs/cvs/import.c | 6 |
2 files changed, 6 insertions, 2 deletions
diff --git a/gnu/usr.bin/cvs/cvs/ignore.c b/gnu/usr.bin/cvs/cvs/ignore.c index 74ab90c785ad..823648786c60 100644 --- a/gnu/usr.bin/cvs/cvs/ignore.c +++ b/gnu/usr.bin/cvs/cvs/ignore.c @@ -147,7 +147,7 @@ ign_add (ign, hold) * (saving it if necessary). We also catch * as a special case in a * global ignore file as an optimization */ - if (isspace (*(ign + 1)) && (*ign == '!' || *ign == '*')) + if ((!*(ign+1) || isspace (*(ign+1))) && (*ign == '!' || *ign == '*')) { if (!hold) { diff --git a/gnu/usr.bin/cvs/cvs/import.c b/gnu/usr.bin/cvs/cvs/import.c index 095a80042f07..288b9b265ba7 100644 --- a/gnu/usr.bin/cvs/cvs/import.c +++ b/gnu/usr.bin/cvs/cvs/import.c @@ -330,10 +330,14 @@ import_descend (message, vtag, targc, targv) { while ((dp = readdir (dirp)) != NULL) { - if (ign_name (dp->d_name) || !isdir (dp->d_name)) + if (!strcmp(".", dp->d_name) || !strcmp("..", dp->d_name)) + continue; + if (!isdir (dp->d_name) || ign_name (dp->d_name)) continue; err += import_descend_dir (message, dp->d_name, vtag, targc, targv); + /* need to re-load .cvsignore after each dir traversal */ + ign_add_file (CVSDOTIGNORE, 1); } (void) closedir (dirp); } |