@@ -1096,6 +1096,7 @@ static void appendid P_((char **where, char **what));
10961096static int must_include P_ ((char * id ));
10971097static void skip_id P_ ((char * * id ));
10981098static int damaged_id P_ ((char * id ));
1099+ static int is_crosspost P_ ((char * xref ));
10991100
11001101/* yeah, right, that's from the same Chris who is telling Jason he's
11011102 doing obfuscated C :-) */
@@ -1168,6 +1169,21 @@ damaged_id (id)
11681169 return 0 ;
11691170}
11701171
1172+ /*
1173+ * A real crossposting test had to run on Newsgroups but we only have Xref in
1174+ * t_article, so we use this.
1175+ */
1176+ static int
1177+ is_crosspost (xref )
1178+ char * xref ;
1179+ {
1180+ int count = 0 ;
1181+ for (;* xref ;xref ++ )
1182+ if (* xref == ':' )
1183+ count ++ ;
1184+ return (count >=2 ) ? 1 : 0 ;
1185+ }
1186+
11711187/* Widespread news software like INN's nnrpd restricts the size of several
11721188 headers, notably the references header, to 512 characters. Oh well...
11731189 guess that's what son-of-1036 calls a "desparate last ressort" :-/
@@ -1436,7 +1452,7 @@ post_response (group, respnum, copy_text)
14361452 start_line_offset += lines ;
14371453
14381454 if (copy_text ) {
1439- if (arts [respnum ].xref ) {
1455+ if (arts [respnum ].xref && is_crosspost ( arts [ respnum ]. xref ) ) {
14401456 if (strfquote (CURR_GROUP .name , respnum , buf , sizeof (buf ),
14411457 xpost_quote_format )) {
14421458 fprintf (fp , "%s\n" , buf );
0 commit comments