diff options
author | Xavier Santolaria <xsa@cvs.openbsd.org> | 2005-09-30 15:40:23 +0000 |
---|---|---|
committer | Xavier Santolaria <xsa@cvs.openbsd.org> | 2005-09-30 15:40:23 +0000 |
commit | 01f9816c65f7be13d83489f6de7ecb9e0f9ae3c1 (patch) | |
tree | e8d18a7fb33ca41ff60118cb437301532af9a772 /usr.bin | |
parent | cdb85030302326115b706b04033b2d1b37e88025 (diff) |
avoid using `cvs add *' idiom wrt special files; joris ok
Diffstat (limited to 'usr.bin')
-rw-r--r-- | usr.bin/cvs/add.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/usr.bin/cvs/add.c b/usr.bin/cvs/add.c index 332926b47af..7191c5aaaf9 100644 --- a/usr.bin/cvs/add.c +++ b/usr.bin/cvs/add.c @@ -1,4 +1,4 @@ -/* $OpenBSD: add.c,v 1.32 2005/09/25 17:38:44 xsa Exp $ */ +/* $OpenBSD: add.c,v 1.33 2005/09/30 15:40:22 xsa Exp $ */ /* * Copyright (c) 2004 Jean-Francois Brousseau <jfb@openbsd.org> * Copyright (c) 2005 Xavier Santolaria <xsa@openbsd.org> @@ -156,6 +156,16 @@ cvs_add_local(CVSFILE *cf, void *arg) added = 0; + /* dont use `cvs add *' */ + if ((strcmp(cf->cf_name, ".") == 0) || + (strcmp(cf->cf_name, "..") == 0) || + (strcmp(cf->cf_name, CVS_PATH_CVSDIR) == 0)) { + if (verbosity > 1) + cvs_log(LP_ERR, + "cannot add special file `%s'.", cf->cf_name); + return (CVS_EX_FILE); + } + if (cf->cf_type == DT_DIR) return cvs_add_directory(cf); @@ -301,7 +311,7 @@ cvs_add_directory(CVSFILE *cf) errno = ENAMETOOLONG; cvs_log(LP_ERRNO, "%s", entry); return (CVS_EX_DATA); - } + } if ((ent = cvs_ent_parse(entry)) == NULL) { cvs_log(LP_ERR, "failed to parse entry"); |