is_house = ishouse(DEREF_P_ITEM(pi));
is_house = ishouse(pi);
int check_house_decay(){   bool is_house;   int houses=0;      int decayed_houses=0;   unsigned long int timediff;   unsigned long int ct=getNormalizedTime();      AllItemsIterator iter_items;   for (iter_items.Begin(); iter_items.GetData() != iter_items.End(); iter_items++)    {   	 P_ITEM pi = iter_items.GetData(); // there shouldnt be an error here !		      is_house = ishouse(DEREF_P_ITEM(pi));	 	 if (is_house && !pi->free)	 {       		// its a house -> check its unused time		//clConsole.send("id2: %x time_unused: %i max: %i\n",pi->id2,pi->time_unused,server_data.housedecay_secs);		if (pi->time_unused>SrvParms->housedecay_secs) // not used longer than max_unused time ? delete the house		{          			decayed_houses++;            sprintf((char*)temp,"%s decayed! not refreshed for > %i seconds!\n",pi->name,SrvParms->housedecay_secs);			LogMessage((char*)temp);			killhouse(DEREF_P_ITEM(pi));		}		else // house ok -> update unused-time-attribute		{           timediff=(ct-pi->timeused_last)/MY_CLOCKS_PER_SEC;		   pi->time_unused+=timediff; // might be over limit now, but it will be cought next check anyway		   pi->timeused_last=ct;	// if we don't do that and housedecay is checked every 11 minutes,									// it would add 11,22,33,... minutes. So now timeused_last should in fact									// be called timeCHECKED_last. but as there is a new timer system coming up									// that will make things like this much easier, I'm too lazy now to rename									// it (Duke, 16.2.2001)		}			houses++;       	 }	    }     //delete Watch;   return decayed_houses;}