if(ic->type){ nsCRT::free(ic->type); ic->type = NULL; }
IL_StreamAbort(il_container *ic, int status){    int old_state;    IL_ImageReq *image_req;		PR_ASSERT(ic);	ILTRACE(4,("il: abort, status=%d ic->state=%d", status, ic->state));    /* Abort the image. */    il_image_abort(ic);	if(ic->state >= IC_SIZED || (ic->state == IC_ABORT_PENDING)){		if (status == MK_INTERRUPTED){			il_container_aborted(ic);		}		else{			for (image_req = ic->clients; image_req; image_req = image_req->next)                il_icon_notify(image_req, IL_IMAGE_BAD_DATA,                           IL_ERROR_IMAGE_DATA_ILLEGAL);		}	}	/*     * It could be that layout aborted image loading by calling IL_DestroyImage()     * before the netlib finished transferring data.  Don't do anything.     */	if (ic->state == IC_ABORT_PENDING)		return;    old_state = ic->state;            if (status == MK_INTERRUPTED)        ic->state = IC_INCOMPLETE;    else        ic->state = IC_BAD;    if (old_state < IC_SIZED)        il_bad_container(ic);}