if (screen->rfbDontDisconnect && screen->rfbNeverShared) {
if (screen->dontDisconnect && screen->neverShared) {
enum rfbNewClientAction new_client(rfbClientPtr client) {	last_event = last_input = time(0);	if (inetd) {		/* 		 * Set this so we exit as soon as connection closes,		 * otherwise client_gone is only called after RFB_CLIENT_ACCEPT		 */		client->clientGoneHook = client_gone;	}	if (connect_once) {		if (screen->rfbDontDisconnect && screen->rfbNeverShared) {			if (! shared && accepted_client) {				rfbLog("denying additional client: %s\n",				     client->host);				return(RFB_CLIENT_REFUSE);			}		}	}	if (! check_access(client->host)) {		rfbLog("denying client: %s does not match %s\n", client->host,		    allow_list ? allow_list : "(null)" );		return(RFB_CLIENT_REFUSE);	}	if (! accept_client(client)) {		rfbLog("denying client: %s local user rejected connection.\n",		    client->host);		rfbLog("denying client: accept_cmd=\"%s\"\n",		    accept_cmd ? accept_cmd : "(null)" );		return(RFB_CLIENT_REFUSE);	}	if (view_only)  {		client->clientData = (void *) -1;		client->viewOnly = TRUE;	} else {		client->clientData = (void *) 0;	}	client->clientGoneHook = client_gone;	client_count++;	if (no_autorepeat && client_count == 1) {		/* first client, turn off X server autorepeat */		autorepeat(0);	}	accepted_client = 1;	last_client = time(0);	return(RFB_CLIENT_ACCEPT);}