[comp.lang.modula3] SRC-M3 1.6: bug in STextTable.

muller@src.dec.com (Eric Muller) (04/02/91)

Norman Ramsey and David Golberg reported that STextTable sometime
fails with a runtime error in Text.Compare. 

The Text module now implements its interface properly, i.e. it
complains when a NIL Text.T is passed to one of the Text routines.

Unfortunately I failed to modify all the clients of Text so that they
do not call Text.xxx with a NIL Text.T. 

Here is a version of STextTable.Compare that will do the right thing:

	PROCEDURE Compare (arg: REFANY; key1, key2: STable.Key): INTEGER =
	  BEGIN
	    IF key1 = NIL THEN key1 := ""; END;
	    IF key2 = NIL THEN key2 := ""; END;
	    RETURN Text.Compare (key1, key2)
	  END Compare;

Thanks to Norman and David for reporting this bug.

-- 
Eric.