



		
		 
 The library routine ZRegion() is invoked by metaclass()
and is occasionally useful in its own right for debugging purposes.
The imperfection is that ZRegion() returns 3 -- "it's a string" -- even
for values which lie above the region where this game's strings are stored.
Unfortunately, small negative numbers are just such values.
For example, ZRegion(-1) returns 3, when it could more usefully return 0. Add an additional test against $001A-->0 to the Z__Region code
defined in veneer.c. 
					
			
		
				 
		About Patches   
				
					 
			Issue C62122
					
	
	 
	ZRegion slightly imperfect 
		Submitted by: Roger Firth
		    Appeared in: Compiler 6.21 or before
		    Fixed in: Compiler 6.30
	Problem 
 Solution 
   [ Z__Region addr;
      if (addr == 0 || Unsigned__Compare(addr, $001A-->0) >= 0)   rfalse;
      if (addr>=1 && addr<=(#largest_object-255))                 return 1;
      if (Unsigned__Compare(addr, #strings_offset) >= 0)          return 3;
      if (Unsigned__Compare(addr, #code_offset) >= 0)             return 2;
      rfalse;
  ];
	
						
					
					
					
					
  
    Last updated 17 April 2013.
  
  This site is no longer supported; information may be out of date.
  Maintained as a historical archive by the Interactive Fiction Technology Foundation.
  Copyright 1993-2018 IFTF, CC-BY-SA unless otherwise noted.
  
    This page was originally managed by Roger Firth.