コード例 #1
0
ファイル: weixin4c.c プロジェクト: wzzhan/weixin4c
int weixin4c( struct Weixin4cConfig *pconf )
{
	struct Weixin4cEnv	env ;
	
	int			nret = 0 ;
	
	memset( & env , 0x00 , sizeof(struct Weixin4cEnv) );
	env.pconf = pconf ;
	
	nret = cgiinit( & env ) ;
	if( nret )
	{
		ErrorLog( __FILE__ , __LINE__ , "cgiinit failed[%d]" , nret );
		return nret;
	}
	
	while( FCGI_Accept() >= 0 )
	{
		nret = cgimain( & env ) ;
		if( nret )
		{
			ErrorLog( __FILE__ , __LINE__ , "cgimain failed[%d]" , nret );
			nret = cgiclean( & env ) ;
			return nret;
		}
		
		if( env.pconf->run_mode == WEIXIN4C_RUNMODE_DEBUG )
			break;
	}
	
	nret = cgiclean( & env ) ;
	if( nret )
	{
		ErrorLog( __FILE__ , __LINE__ , "cgiclean failed[%d]" , nret );
		return nret;
	}
	
	return 0;
}
コード例 #2
0
ファイル: gethostinfo.c プロジェクト: WongTai/snippets
void main(int argc, char *argv[])
{
int dbh, tmpint;
m_result *tmp;
m_row res;
char query[500];
static char *selected="SELECTED";
char *c[2]={"", ""}, *t[2]={"", ""}, *e[2]={"", ""}, *a[2]={"", ""};
struct cgiform *form;
char *hostname;

    puts("Content-type: text/html\n");
    puts("<html><head><title>Info</title></head>\n");
    puts("<body bgcolor=\"ffffff\">\n");

    if( (dbh=msqlConnect(NULL))<0)
	die(msqlErrMsg);

    if( msqlSelectDB(dbh, "web") < 0)
	die(msqlErrMsg);

    if(argc>1)
    {
	hostname=argv[1];
    }
    else
    {
        form=cgiinit();
	hostname=cgigetdata(form, "hostname");
    }

    sprintf(query, "select * from virtuals where hostname='%s'", hostname);

    if( msqlQuery(dbh, query) < 0)
    {
	printf("Oops, didn't like that:  %s<br>\n", msqlErrMsg);
	puts("</body></html>");
	exit(0);
    }

    tmp=msqlStoreResult();

    puts("<h2>Edit a virtual host</h2>");
    puts("<form action=\"/cgi-bin/tools/hosts/edithost.cgi\" \
        method=\"POST\">");

    res=msqlFetchRow(tmp);

    if(res==NULL)
    {
	printf("Problem getting the data<br>\n");
	puts("</body></html>");
	exit(0);
    }

    tmpint=atoi(res[6]);
    c[tmpint]=selected;

    tmpint=atoi(res[4]);
    t[tmpint]=selected;

    tmpint=atoi(res[5]);
    e[tmpint]=selected;

    tmpint=atoi(res[9]);
    a[tmpint]=selected;

    puts("<table>\n");
    printf("<tr><td>Hostname:</td><td><input name=\"hostname\" \
	value=\"%s\"></td></tr>\n", res[0]);

    printf("<tr><td>Admin:</td><td><input name=\"admin\" \
	value=\"%s\"></td></tr>\n", res[1]);

    printf("<tr><td>User:</td><td><input name=\"user\" \
	value=\"%s\"></td></tr>\n", res[2]);

    printf("<tr><td>Group:</td><td><input name=\"group\" \
	value=\"%s\"></td></tr>\n", res[3]);


    printf("<tr><td>Keep Transfer log:</td><td><select name=\"trans_log\">\
	<option value=\"0\" %s>No\n<option value=\"1\" %s>Yes</select>\n",
	t[0], t[1]);

    printf("<tr><td>Keep Error log:</td><td><select name=\"err_log\">\
	<option value=\"0\" %s>No\n<option value=\"1\" %s>Yes</select>\n",
	e[0], e[1]);

    printf("<tr><td>Create CGI bin:</td><td><select name=\"cgi_bin\">\
	<option value=\"0\" %s>No\n<option value=\"1\" %s>Yes</select>\n",
	c[0], c[1]);

    printf("<tr><td>Active:</td><td><select name=\"active\">\
	<option value=\"0\" %s>No\n<option value=\"1\" %s>Yes</select>\n",
	a[0], a[1]);

    puts("</table><input type=\"submit\" value=\"Save it\"></form><br>");
    printf("<a href=\"/cgi-bin/tools/hosts/deletehost.cgi?%s\">Delete %s</a>",
	res[0], res[0]);
    puts("<hr align=\"left\" width=\"50%\">");
    puts("<font size=\"-2\">");
    puts("Copyright &copy 1996 <a href=\"/\">SPY Internetworking</a>");
    puts("</font></body></html>");
    msqlFreeResult(tmp);
    msqlClose(dbh);
}