net_CallExitRoutine(wus->exit_routine,
net_CallExitRoutineProxy(wus->exit_routine,
net_AbortWaitingURL(MWContext * window_id, Bool all, XP_List *list){	XP_List * list_ptr;                     /* Can't initialize here as list might be null */	XP_List * prev_list_ptr = list;	XP_List * tmp_list_ptr;	WaitingURLStruct * wus;    int32 cur_win_id=0;	int number_killed = 0;	/* make sure we actually got a list of things to Abort */	if (!list)		return(number_killed);		/* Now initialize the list pointer */	list_ptr = list->next;		if(!all && window_id)		cur_win_id = FE_GetContextID(window_id);	while(list_ptr)	  {		wus = (WaitingURLStruct *)list_ptr->object;		if(all || (window_id && cur_win_id == FE_GetContextID(wus->window_id)))		  {			TRACEMSG(("killing waiting URL"));			/* call exit routine since we are done */			net_CallExitRoutine(wus->exit_routine,								wus->URL_s,								MK_INTERRUPTED,								wus->format_out,								wus->window_id);			number_killed += 1;			tmp_list_ptr = list_ptr;			list_ptr = list_ptr->next;			/* remove the element from the list			 *			 * we have to use the function since it does			 * funky doubly linked list stuff.			 */			XP_ListRemoveObject(list, wus);#ifdef MODULAR_NETLIB            net_ReleaseContext(wus->window_id);#endif			FREE(wus);		  }		else		  {			prev_list_ptr = list_ptr;			list_ptr = list_ptr->next;		  }	  }	return(number_killed);}