sprintf(WSRC_address, "wais:
HTSprintf0(&WSRC_address, "wais:
PRIVATE void WSRC_gen_html ARGS2(HTStream *, me, BOOL, source_file){    if (me->par_value[PAR_DATABASE_NAME]) {	char * shortname = 0;	int l;	StrAllocCopy(shortname, me->par_value[PAR_DATABASE_NAME]);	l = strlen(shortname);	if ( l > 4 && !strcasecomp(shortname + l -4, ".src")) {	    shortname[l-4] = 0; /* Chop of .src -- boring! */	}	START(HTML_HEAD);	PUTC('\n');	START(HTML_TITLE);	PUTS(shortname);	PUTS(source_file ? gettext(" WAIS source file") : INDEX_SEGMENT);	END(HTML_TITLE);	PUTC('\n');	END(HTML_HEAD);	START(HTML_H1);	PUTS(shortname);	PUTS(source_file ? gettext(" description") : INDEX_SEGMENT);	END(HTML_H1);	PUTC('\n');	FREE(shortname);    }    START(HTML_DL);		/* Definition list of details */    if (source_file) {	START(HTML_DT);	PUTS(gettext("Access links"));	MAYBE_END(HTML_DT);	START(HTML_DD);	if (me->par_value[PAR_IP_NAME] &&	    me->par_value[PAR_DATABASE_NAME]) {	    char WSRC_address[256];	    char * www_database;	    www_database = HTEscape(me->par_value[PAR_DATABASE_NAME],		URL_XALPHAS);	    sprintf(WSRC_address, "wais://%s%s%s/%s",		me->par_value[PAR_IP_NAME],		me->par_value[PAR_TCP_PORT] ? ":" : "",		me->par_value[PAR_TCP_PORT] ? me->par_value[PAR_TCP_PORT] :"",		www_database);	    HTStartAnchor(me->target, NULL, WSRC_address);	    PUTS(gettext("Direct access"));	    END(HTML_A);	    /** Proxy will be used if defined, so let user know that - FM **/	    PUTS(gettext(" (or via proxy server, if defined)"));	    FREE(www_database);	} else {	    give_parameter(me, PAR_IP_NAME);	    give_parameter(me, PAR_DATABASE_NAME);	}	MAYBE_END(HTML_DD);    } /* end if source_file */    if (me->par_value[PAR_MAINTAINER]) {	START(HTML_DT);	PUTS(gettext("Maintainer"));	MAYBE_END(HTML_DT);	START(HTML_DD);	PUTS(me->par_value[PAR_MAINTAINER]);	MAYBE_END(HTML_DD);    }    if (me->par_value[PAR_IP_NAME]) {	START(HTML_DT);	PUTS(gettext("Host"));	MAYBE_END(HTML_DT);	START(HTML_DD);	PUTS(me->par_value[PAR_IP_NAME]);	MAYBE_END(HTML_DD);    }    END(HTML_DL);    if (me->par_value[PAR_DESCRIPTION]) {	START(HTML_PRE);		/* Preformatted description */	PUTS(me->par_value[PAR_DESCRIPTION]);	END(HTML_PRE);    }    (*me->target->isa->_free)(me->target);    return;} /* generate html */