rem: LOG(memlog, " heap size= %d\n", qm->size);
add: LOG(memlog, " heap size= %ld\n", qm->size);
context: void fm_status(struct fm_block* qm){	struct fm_frag* f;	int i,j;	int h;	int size;	LOG(memlog, "fm_status (%p):\n", qm);	if (!qm) return;	LOG(memlog, " heap size= %d\n", qm->size);#ifdef DBG_F_MALLOC	LOG(memlog, " used= %d, used+overhead=%d, free=%d\n",			qm->used, qm->real_used, qm->size-qm->real_used);	LOG(memlog, " max used (+overhead)= %d\n", qm->max_real_used);#endif	/*	LOG(memlog, "dumping all fragments:\n");	for (f=qm->first_frag, i=0;((char*)f<(char*)qm->last_frag) && (i<10);			f=FRAG_NEXT(f), i++){		LOG(memlog, "    %3d. %c  address=%x  size=%d\n", i, 				(f->u.reserved)?'a':'N',				(char*)f+sizeof(struct fm_frag), f->size);#ifdef DBG_F_MALLOC		LOG(memlog, "            %s from %s: %s(%d)\n",				(f->u.is_free)?"freed":"alloc'd", f->file, f->func, f->line);#endif	}*/	LOG(memlog, "dumping free list:\n");	for(h=0,i=0,size=0;h<F_HASH_SIZE;h++){				for (f=qm->free_hash[h],j=0; f; size+=f->size,f=f->u.nxt_free,i++,j++);		if (j) LOG(memlog, "hash = %3d fragments no.: %5d,\n\t\t"							" bucket size: %9d - %9d (first %9d)\n",							h, j, UN_HASH(h),							((h<F_MALLOC_OPTIMIZE/ROUNDTO)?1:2)*UN_HASH(h),							qm->free_hash[h]->size				);		/*		{			LOG(memlog, "   %5d.[%3d:%3d] %c  address=%x  size=%d(%x)\n",					i, h, j,					(f->u.reserved)?'a':'N',					(char*)f+sizeof(struct fm_frag), f->size, f->size);#ifdef DBG_F_MALLOC			DBG("            %s from %s: %s(%d)\n", 				(f->u.reserved)?"freed":"alloc'd", f->file, f->func, f->line);#endif		}	*/	}	LOG(memlog, "TOTAL: %6d free fragments = %6d free bytes\n", i, size);	LOG(memlog, "-----------------------------\n");}