Esempio n. 1
0
char *CParameters::getStringPtr(char* parameterName)
{
	int index= getParameterIndex(parameterName);

	return getStringPtr(index);
}
Esempio n. 2
0
int ReportError(int no,...)
{
	va_list  v1;
	va_start (v1,no);
	char Buffer[32];
	KWEnum_t kw;
	int i,j;
	char*msg;

	switch (no)
	{
	case UNEXPECTEDID:
		i=va_arg(v1,int);
		sprintf(message,"'%s' unexpected", getStringPtr(i));
		break;
	case UNKNOWNID:
		i=va_arg(v1,int);
		sprintf(message,"'%s' unknown", getStringPtr(i));
		break;
	case EXPECTEDCHAR:
		i=va_arg(v1,int);
		if (i<256)
		{  // signe char notification
		   sprintf(message,"'%c' expected",(char)i);
		}
		else
		{   // dual char notification
			sprintf(message,"'%c%d' expected", (char)(i&0xff),(char)(i>>8));
		}
		break;
	case EXPECTEDKW:
		kw=va_arg(v1,KWEnum_t);

		i=KWStart[kw];
		j=KWStart[kw+1]-i;
		memcpy(Buffer,KWPool+i,j);
		Buffer[j]=0;
		sprintf(message,"\"%s\" expected", Buffer);
		break;
	case CANTOPEN:
		msg=va_arg(v1,char*);
		sprintf(message,"Could not open file \"%s\"",msg);
		break;
	case REGULAR_TEXT:
		msg=va_arg(v1,char*);
		sprintf(message,"%s",msg);
		break;
	case UNEXPECTEDCHAR:
		i=va_arg(v1,int);
		sprintf(message,"unexpected '%c'",(char)i);
		break;
	case DUPLICATEID:
		i=va_arg(v1,int);
		sprintf(message,"duplicate '%s'",getStringPtr(i));
		break;
	case UNEXPECTEDKW:
		kw=va_arg(v1,KWEnum_t);
		i=KWStart[kw];
		j=KWStart[kw+1]-i;
		memcpy(Buffer,KWPool+i,j);
		Buffer[j]=0;
		sprintf(message,"unexpected \"%s\"", Buffer);
		break;
	case UNDEFFWDTYPE:
		i=va_arg(v1,int);
		sprintf(message,"undefined '%s'", getStringPtr(i));
		break;
	case UNDECLAREDLABEL:
		i=va_arg(v1,int);
		sprintf(message,"undeclared '%s'", getStringPtr(i));
		break;
	case UNDEFINEDID:
		i=va_arg(v1,int);
		sprintf(message,"undefined '%s'",getStringPtr(i));
		break;
	case UNDECLAREDLBL:
		i=va_arg(v1,int);
		sprintf(message,"undeclared '%s'",getStringPtr(i));
		break;
	case LBLALREADYDEF:
		i=va_arg(v1,int);
		sprintf(message,"duplicate definition of '%s'",getStringPtr(i));
		break;
	case UNKNOWNMNEMONIC:
		Pool[IdPtr+LenID]=0;
		sprintf(message,"unknown mnemonic '%s'",Pool+IdPtr);
		break;
	case INVALIDOPCODE:
		Pool[IdPtr+LenID]=0;
		sprintf(message,"invalid opcode '%s'",Pool+IdPtr);
		break;
	case INTERNAL:
		msg=va_arg(v1,char*);
		sprintf(message,"Internal Error '%s'",msg);
		break;
	}
    longjmp(jmp_env,no);
    return no;
}