Exemplo n.º 1
0
//////////
//
// Called to make sure enough information is populated currently in the sem->ecCursorLine->sourceCode
// buffer for the new indicated line length.
//
//////
	bool iSEMLine_ensureLineLength(SThisCode* thisCode, SEM* sem, s32 newLineLength)
	{
		SLine* line;


		// Make sure the environment is sane
		if (sem && sem->line_cursor)
		{
			// Has this line had its data allocated?
			line = sem->line_cursor;
			if (!line->sourceCode)
			{
				// We need to allocate the initial data block
				iDatum_allocateSpace(line->sourceCode, max((s32)_ECM_MINIMUM_LINE_ALLOCATION_LENGTH, newLineLength));
				line->sourceCode_populatedLength	= 0;
			}

			// Is there room from where we are to the new line length?
			if (line->sourceCode->length > newLineLength)
				return(true);		// We're good

			// If we get here, we need to reallocate
			return(iDatum_resize(line->sourceCode, newLineLength + _ECM_MINIMUM_LINE_ALLOCATION_LENGTH));
		}
		// If we get here, failure
		return(false);
	}
Exemplo n.º 2
0
	void iVjr_init_createConstants(void)
	{
		s32 lnValue;
		f32 lfValue;


		// System constants used internally
		cvarSpace1				= iVariable_createAndPopulate_byText(NULL, _VAR_TYPE_CHARACTER, cgc_spaceText, 1,	false);
		cvarEmptyString			= iVariable_createAndPopulate_byText(NULL, _VAR_TYPE_CHARACTER, (cu8*)NULL, 0,		false);
		cvarSpace2000			= iVariable_create(NULL, _VAR_TYPE_CHARACTER, NULL, true);
		cvarTrue				= iVariable_createAndPopulate_byText(NULL, _VAR_TYPE_LOGICAL, (cu8*)NULL, 0,		false);
		cvarFalse				= iVariable_createAndPopulate_byText(NULL, _VAR_TYPE_LOGICAL, (cu8*)NULL, 0,		false);
		cvarZero				= iVariable_create(NULL, _VAR_TYPE_S64, NULL, true);

		lnValue	= 6;
		cvarSix					= iVariable_createAndPopulate_byText(NULL, _VAR_TYPE_S32, (cu8*)&lnValue, 4, false);
		lnValue	= 8;
		cvarEight				= iVariable_createAndPopulate_byText(NULL, _VAR_TYPE_S32, (cu8*)&lnValue, 4, false);
		lnValue	= 16;
		cvarSixteen				= iVariable_createAndPopulate_byText(NULL, _VAR_TYPE_S32, (cu8*)&lnValue, 4, false);
		lnValue	= 32;
		cvarThirtyTwo			= iVariable_createAndPopulate_byText(NULL, _VAR_TYPE_S32, (cu8*)&lnValue, 4, false);
		lnValue	= 64;
		cvarSixtyFour			= iVariable_createAndPopulate_byText(NULL, _VAR_TYPE_S32, (cu8*)&lnValue, 4, false);
		lnValue	= 255;
		cvarTwoFiftyFive		= iVariable_createAndPopulate_byText(NULL, _VAR_TYPE_S32, (cu8*)&lnValue, 4, false);

		lfValue	= 0.5f;
		cvarFiftyPercent		= iVariable_createAndPopulate_byText(NULL, _VAR_TYPE_F32, (cu8*)&lfValue, 4, false);
		lfValue	= 0.5f;
		cvarOneHundredPercent	= iVariable_createAndPopulate_byText(NULL, _VAR_TYPE_F32, (cu8*)&lfValue, 4, false);

		// 2000 blank spaces
		iDatum_allocateSpace(&cvarSpace2000->value, 2000);
		memset(cvarSpace2000->value.data, 32, 2000);

		// Constant logical
		*cvarTrue->value.data_s8	= (s8)_LOGICAL_TRUE;
		*cvarFalse->value.data_s8	= (s8)_LOGICAL_FALSE;

		// Datetime constants for parsing
		cvarSetDateAmerican	= iVariable_createAndPopulate_byText(NULL, _VAR_TYPE_CHARACTER, "11/22/3333 12:34:56.000 AP", -1, true);
		cvarSetDateAnsi		= iVariable_createAndPopulate_byText(NULL, _VAR_TYPE_CHARACTER, "3333.22.11 12:34:56.000 AP", -1, true);
		cvarSetDateBritish	= iVariable_createAndPopulate_byText(NULL, _VAR_TYPE_CHARACTER, "22/11/3333 12:34:56.000 AP", -1, true);
		cvarSetDateFrench	= cvarSetDateBritish;
		cvarSetDateGerman	= iVariable_createAndPopulate_byText(NULL, _VAR_TYPE_CHARACTER, "22.11.3333 12:34:56.000 AP", -1, true);
		cvarSetDateItalian	= iVariable_createAndPopulate_byText(NULL, _VAR_TYPE_CHARACTER, "22-11-3333 12:34:56.000 AP", -1, true);
		cvarSetDateJapan		= iVariable_createAndPopulate_byText(NULL, _VAR_TYPE_CHARACTER, "3333/11/22 12:34:56.000 AP", -1, true);
		cvarSetDateTaiwan	= cvarSetDateJapan;
		cvarSetDateLong		= iVariable_createAndPopulate_byText(NULL, _VAR_TYPE_CHARACTER, "Dow, Mon 22, 3333 12:34:56.000 AP", -1, true);
		cvarSetDateShort		= cvarSetDateAmerican;
		cvarSetDateUsa		= iVariable_createAndPopulate_byText(NULL, _VAR_TYPE_CHARACTER, "11-22-33333 12:34:56.000 AP", -1, true);
		cvarSetDateDmy		= cvarSetDateBritish;
		cvarSetDateMdy		= cvarSetDateAmerican;
		cvarSetDateYmd		= cvarSetDateJapan;

		// Other datetime constants for fixed date types
		varSetDateYyyyMmDdTHhMmSsMss	= iVariable_createAndPopulate_byText(NULL, _VAR_TYPE_CHARACTER, "3333-11-22 12:34:56.000 AP", -1, true);
		varSetDateYyyyMmDdTHhMmSs		= iVariable_createAndPopulate_byText(NULL, _VAR_TYPE_CHARACTER, "3333-11-22 12:34:56 AP", -1, true);
	}