* gnu/packages/patches/procmail-ambiguous-getline-debian.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/mail.scm (procmail): New variable. Signed-off-by: Leo Famulari <leo@famulari.name>
		
			
				
	
	
		
			61 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
Rename getline() to procmail_getline() to avoid namespace clash with
 | 
						|
POSIX getline(). Fixes FTBFS.
 | 
						|
 | 
						|
Copied from Debian:
 | 
						|
http://sources.debian.net/src/procmail/3.22-24/debian/patches/24/
 | 
						|
 | 
						|
References:
 | 
						|
http://bugs.debian.org/549426
 | 
						|
 | 
						|
--- a/src/fields.c
 | 
						|
+++ b/src/fields.c
 | 
						|
@@ -110,16 +110,16 @@
 | 
						|
 		    /* try and append one valid field to rdheader from stdin */
 | 
						|
 int readhead P((void))
 | 
						|
 { int idlen;
 | 
						|
-  getline();
 | 
						|
+  procmail_getline();
 | 
						|
   if((idlen=breakfield(buf,buffilled))<=0) /* not the start of a valid field */
 | 
						|
      return 0;
 | 
						|
   if(idlen==STRLEN(FROM)&&eqFrom_(buf))			/* it's a From_ line */
 | 
						|
    { if(rdheader)
 | 
						|
 	return 0;			       /* the From_ line was a fake! */
 | 
						|
-     for(;buflast=='>';getline());	    /* gather continued >From_ lines */
 | 
						|
+     for(;buflast=='>';procmail_getline());	    /* gather continued >From_ lines */
 | 
						|
    }
 | 
						|
   else
 | 
						|
-     for(;;getline())		      /* get the rest of the continued field */
 | 
						|
+     for(;;procmail_getline())		      /* get the rest of the continued field */
 | 
						|
       { switch(buflast)			     /* will this line be continued? */
 | 
						|
 	 { case ' ':case '\t':				  /* yep, it sure is */
 | 
						|
 	      continue;
 | 
						|
--- a/src/formail.c
 | 
						|
+++ b/src/formail.c
 | 
						|
@@ -819,7 +819,7 @@
 | 
						|
       { if(split)		       /* gobble up the next start separator */
 | 
						|
 	 { buffilled=0;
 | 
						|
 #ifdef sMAILBOX_SEPARATOR
 | 
						|
-	   getline();buffilled=0;		 /* but only if it's defined */
 | 
						|
+	   procmail_getline();buffilled=0;		 /* but only if it's defined */
 | 
						|
 #endif
 | 
						|
 	   if(buflast!=EOF)					   /* if any */
 | 
						|
 	      goto splitit;
 | 
						|
--- a/src/formisc.c
 | 
						|
+++ b/src/formisc.c
 | 
						|
@@ -115,7 +115,7 @@
 | 
						|
   buf[buffilled++]=c;
 | 
						|
 }
 | 
						|
 
 | 
						|
-int getline P((void))			   /* read a newline-terminated line */
 | 
						|
+int procmail_getline P((void))			   /* read a newline-terminated line */
 | 
						|
 { if(buflast==EOF)			 /* at the end of our Latin already? */
 | 
						|
    { loadchar('\n');					  /* fake empty line */
 | 
						|
      return EOF;					  /* spread the word */
 | 
						|
--- a/src/formisc.h
 | 
						|
+++ b/src/formisc.h
 | 
						|
@@ -17,4 +17,4 @@
 | 
						|
 char*
 | 
						|
  skipwords P((char*start));
 | 
						|
 int
 | 
						|
- getline P((void));
 | 
						|
+ procmail_getline P((void));
 |