All pastes #434135 Raw Edit

Anonymous

public text v1 · immutable
·published 2007-04-11 07:34 UTC
rendered paste body
	// trying to match variable names; public $something = null;
	// - this does not work
	if(strncmp ((const char*)cp,"public",(size_t) 6) == 0 &&  
		isspace ((int) cp [6]))
	{
	    cp += 6;
	    while (isspace ((int) *cp))
		++cp;
			
		if (*cp == '$') /* skip dollar */
		cp++;
		
	    vStringClear (name);
		while (isalnum ((int) *cp)  ||  *cp == '_')
	    {
		vStringPut (name, (int) *cp);
		++cp;
	    }		
		vStringTerminate (name);
		makeSimpleTag (name, PhpKinds, K_VARIABLE);
		vStringClear (name);		
	}
	// grab function ames; function something();
	// - this works
	else if (strncmp ((const char*) cp, "function", (size_t) 8) == 0  &&
	    isspace ((int) cp [8]))
	{
	    cp += 8;

	    while (isspace ((int) *cp))
		++cp;

	    if (*cp == '&')	/* skip reference character */
		cp++;

	    vStringClear (name);
	    while (isalnum ((int) *cp)  ||  *cp == '_')
	    {
		vStringPut (name, (int) *cp);
		++cp;
	    }
	    vStringTerminate (name);
	    makeSimpleTag (name, PhpKinds, K_FUNCTION);
	    vStringClear (name);
	}