Spiff -C dumps core

Kirk Woods kirk at sequent.UUCP
Fri Jun 30 02:12:43 AEST 1989


I found a problem with SPIFF while doing a syntactic diff of a C file.
The problem was caused when spiff ran into a character data assignment
of a double quote character in the form '"' and '\"'.  SPIFF interprets
this to be the begining of a quoted string and gets a segmentation
violation when it tries to find the end of the quote.

The fix is to make that charcter assignment a literal by adding the
following lines to spiff.c:

--- 261,268 -----
  			**	 the C programming language
  			*/
  			case 'C' :
+ 				C_addcmd("literal  '\"'      ");
+ 				C_addcmd("literal  \\\"      ");
  				C_addcmd("literal  \"   \"    \\ ");
  				C_addcmd("comment  /*  */	 ");
  				C_addcmd("literal  &&		 ");

The line numbers may be different since I use indent alot on sources from
the net.

As a side note:  I think spiff is great for verifying that indent did
not corrupt my source files, which it occasionally does.



More information about the Comp.sources.bugs mailing list