コード例 #1
0
int main (int argc, char *argv[])
{
    GfrEntry *currGE;
    int count;
    int countRemoved;

    if (argc != 2) {
        usage ("%s <string>",argv[0]);
    }
    count = 0;
    countRemoved = 0;
    gfr_init ("-");
    puts (gfr_writeHeader ());
    while (currGE = gfr_nextEntry ()) {
        if (currGE->descriptionTranscript1 == NULL ||
                currGE->descriptionTranscript2 == NULL) {
            die ("Transcript description is missing");
        }
        if (strCaseStr (currGE->descriptionTranscript1,argv[1]) ||
                strCaseStr (currGE->descriptionTranscript2,argv[1])) {
            countRemoved++;
            continue;
        }
        puts (gfr_writeGfrEntry (currGE));
        count++;
    }
    gfr_deInit ();
    warn ("%s_string: %s",argv[0],argv[1]);
    warn ("%s_numRemoved: %d",argv[0],countRemoved);
    warn ("%s_numGfrEntries: %d",argv[0],count);
    return 0;
}
コード例 #2
0
ファイル: Isapi.c プロジェクト: ferrasrl/easyHand
CHAR *Isapi_ArgAlloc(EXTENSION_CONTROL_BLOCK *pECB,CHAR *lpVarName)
{
	// pECB->lpszQueryString
	CHAR *p,*p2;
	CHAR szName[180];
	UINT is;
	sprintf(szName,"&%s=",lpVarName);

	if (!pECB->lpszQueryString) return NULL;
	is=(UINT) strlen(szName); if (strlen(pECB->lpszQueryString)<is) return NULL;
	
	// Se inizia per
	if (!_memicmp(pECB->lpszQueryString,szName+1,is-1))
	{
		p=pECB->lpszQueryString; p+=(is-1);
		p2=strstr(p,"&"); if (p2) *p2=0;
		p=strDecode(p,SE_URL,NULL);
		if (p2) *p2='&';
		return p;
	}
	// Cerco all'interno
	p=strCaseStr(pECB->lpszQueryString,szName); if (!p) return NULL;
	p+=strlen(szName); p2=strstr(p,"&"); if (p2) *p2=0;
	p=strDecode(p,SE_URL,NULL);
	if (p2) *p2='&';
	return p;
}