making --exclude-from=- read from stdin

Christian chth at gmx.net
Mon Nov 4 03:32:00 EST 2002


--- exclude.c.org       2002-11-04 04:17:05.000000000 +0100
+++ exclude.c   2002-11-04 04:21:13.000000000 +0100
@@ -219,8 +219,15 @@
                                          int fatal, int include)
 {
        struct exclude_struct **list=list1;
-       FILE *f = fopen(fname,"r");
+       FILE *f;
        char line[MAXPATHLEN];
+
+       if( fname[0]=='-' && fname[1]=='\0'){
+               f= stdin;
+       }
+       else {
+               f= fopen(fname,"r");
+       }
        if (!f) {
                if (fatal) {
                        rsyserr(FERROR, errno,
@@ -243,7 +250,9 @@
                        add_exclude_list(line,&list,include);
                }
        }
-       fclose(f);
+       if( ! (fname[0]=='-' && fname[1]=='\0' )) {
+               fclose(f);
+       }
        return list;
 }



More information about the rsync mailing list