don't show basedir in printed path (a aesthetic change only)
[rsync/rsync.git] / exclude.c
index b5b230b..139c0b4 100644 (file)
--- a/exclude.c
+++ b/exclude.c
@@ -25,7 +25,7 @@
 
 extern int verbose;
 
-static char **exclude_list = NULL;
+static char **exclude_list;
 
 static int is_regex(char *str)
 {
@@ -35,7 +35,6 @@ static int is_regex(char *str)
 
 static int check_one_exclude(char *name,char *pattern)
 {
-  char *str;
   char *p;
 
   if (!strchr(pattern,'/') && (p=strrchr(name,'/')))
@@ -87,7 +86,7 @@ void add_exclude_list(char *pattern,char ***list)
 
   if (strcmp(pattern,"!") == 0) {
     if (verbose > 2)
-      fprintf(stderr,"clearing exclude list\n");
+      fprintf(FERROR,"clearing exclude list\n");
     while ((len)--) 
       free((*list)[len]);
     free((*list));
@@ -105,7 +104,7 @@ void add_exclude_list(char *pattern,char ***list)
     out_of_memory("add_exclude");
 
   if (verbose > 2)
-    fprintf(stderr,"add_exclude(%s)\n",pattern);
+    fprintf(FERROR,"add_exclude(%s)\n",pattern);
   
   (*list)[len+1] = NULL;
 }
@@ -122,8 +121,8 @@ char **make_exclude_list(char *fname,char **list1,int fatal)
   char line[MAXPATHLEN];
   if (!f) {
     if (fatal) {
-      fprintf(stderr,"%s : %s\n",fname,strerror(errno));
-      exit(1);
+      fprintf(FERROR,"%s : %s\n",fname,strerror(errno));
+      exit_cleanup(1);
     }
     return list;
   }
@@ -189,7 +188,7 @@ void add_cvs_excludes(void)
   for (i=0; cvs_ignore_list[i]; i++)
     add_exclude(cvs_ignore_list[i]);
 
-  if ((p=getenv("HOME"))) {
+  if ((p=getenv("HOME")) && strlen(p) < (MAXPATHLEN-12)) {
     sprintf(fname,"%s/.cvsignore",p);
     add_exclude_file(fname,0);
   }