SDatum* iDatum_allocate(u8* data, s32 dataLength) { SDatum* datumNew; // Allocate our new datum datumNew = (SDatum*)malloc(sizeof(SDatum)); if (datumNew) { // Initialize memset(datumNew, 0, sizeof(SDatum)); // Copy over the content if (data) { // We may need to set the length if (dataLength < 0) dataLength = (s32)strlen((s8*)data); // Initialize memset(datumNew, 0, sizeof(SDatum)); // Populate iDatum_duplicate(datumNew, data, dataLength); } } // Indicate our status return(datumNew); }
////////// // // Function: LOWER() // Converts every character in the string to lowercase. // ////// // Version 0.57 // Last update: // Jul.12.2014 ////// // Change log: // Jul.12.2014 - Initial creation ////// // Parameters: // pString -- Character, the string to lower // ////// // Returns: // Character -- The string with all lowercase characters converted to lowercase ////// void function_lower(SThisCode* thisCode, SFunctionParms* rpar) { SVariable* varString = rpar->params[0]; s32 lnI; SVariable* result; ////////// // Parameter 1 must be character ////// rpar->returns[0] = NULL; if (!iVariable_isValid(varString) || iVariable_getType(varString) != _VAR_TYPE_CHARACTER) { iError_reportByNumber(thisCode, _ERROR_P1_IS_INCORRECT, iVariable_getRelatedComp(thisCode, varString), false); return; } ////////// // Create our return result ////// result = iVariable_create(thisCode, _VAR_TYPE_CHARACTER, NULL, true); if (!result) { iError_report(thisCode, cgcInternalError, false); return; } ////////// // Copy the source string ////// iDatum_duplicate(&result->value, &varString->value); ////////// // Lower every character ////// for (lnI = 0; lnI < result->value.length; lnI++) { if (result->value.data[lnI] >= 'A' && result->value.data[lnI] <= 'Z') result->value.data[lnI] += 0x20; } ////////// // Return our converted result ////// rpar->returns[0] = result; }
void iiVjr_init_createGlobalSystemVariable(SVariable** var, s32 tnType, cu8* tcName, cs8* tcInitValue, u32 tnInitValueLength) { // Create it if (!tcInitValue) *var = iVariable_create(NULL, tnType, NULL, true); else *var = iVariable_createAndPopulate_byText(NULL, tnType, tcInitValue, tnInitValueLength, false); // Name it iDatum_duplicate(&(*var)->name, tcName, -1); // Mark it as a system variable (*var)->isSysVar = true; // Append it to global variables iLl_appendExistingNodeAtEnd((SLL**)&varGlobals, (SLL*)*var); }
////////// // // Called to add something to the indicated file, line, or component // ////// // Note: valueTextTemplate is expected to include a %d parameter for tnValueCode, and a %s parameter for the associated text void iilsa_append_extraInfo(s32 tnValueCode, cs8* valueTextTemplate, cs8* tcValueText, SLine* line, SComp* comp, SLsaFile* file, s32 tnValueBaseAddto, s32 tn_eiType) { s32 lnLength; s8 buffer[1024]; SExtraInfo* ei; ////////// // Generate the error ////// sprintf(buffer, valueTextTemplate, tnValueCode + tnValueBaseAddto, tcValueText); lnLength = strlen(buffer); ////////// // Store the error ////// if (line) ei = iExtraInfo_allocate(&line->extra_info, tn_eiType); else if (comp) ei = iExtraInfo_allocate(&comp->extra_info, tn_eiType); else if (file) ei = iExtraInfo_allocate(&file->extra_info, tn_eiType); ////////// // Store the related error message ////// if (ei) iDatum_duplicate(&ei->info, (cvp*)buffer); ////////// // Print it ////// printf(buffer); // Append a trailing CR if it doesn't already have one if (*(u16*)&buffer[lnLength - 2] != 'n\\' && *(u16*)&buffer[lnLength - 4] != 'n\\') printf("\n"); }
////////// // // Function: VERSION() // Based on input, retrieves various version information. // ////// // Version 0.58 // Last update: // Jul.13.2014 ////// // Change log: // Jul.13.2014 - Initial creation ////// // Parameters: // pIndex -- (Optional) If present, Numeric, in the range 1..5 // ////// // Returns: // Numeric or Character -- Depending on index, various values are returned ////// void function_version(SReturnsParams* rpar) { SVariable* varIndex = rpar->ip[0]; s32 index; u32 errorNum; bool error; u8* lptr; SVariable* result; ////////// // Parameter 1 must be numeric ////// rpar->rp[0] = NULL; lptr = NULL; if (!iVariable_isValid(varIndex)) { // They are requesting the default information lptr = (u8*)cgcVersionText; } else if (!iVariable_isTypeNumeric(varIndex)) { // The parameter is not numeric iError_report_byNumber(_ERROR_P1_IS_INCORRECT, iVariable_get_relatedComp(varIndex), false); return; } else { // It must be in the range 1..5 index = iiVariable_getAs_s32(varIndex, false, &error, &errorNum); if (error) { iError_report_byNumber(errorNum, iVariable_get_relatedComp(varIndex), false); return; } else if (index < 1 || index > 5) { // We report our own error iError_report((cu8*)"Parameter must be in the range 1..5", false); return; } } ////////// // Create our return result ////// if (lptr || index == 1 || index == 4) { // Character return result = iVariable_create(_VAR_TYPE_CHARACTER, NULL, true); if (lptr) { // Copy the version info iDatum_duplicate(&result->value, lptr, -1); } else if (index == 1) { // Copy the version1 info iDatum_duplicate(&result->value, cgcVersion1Text, -1); } else { // Copy the version4 info iDatum_duplicate(&result->value, cgcVersion4Text, -1); } } else { result = iVariable_create(_VAR_TYPE_S32, NULL, true); if (index == 2) { // 0=runtime, 1=standard, 2=professional *(s32*)result->value.data = gnVersion2; // Oh yeah! } else if (index == 3) { // Localized version *(s32*)result->value.data = gnVersion3; // English } else { // Version in a form like Major.Minor as M.mm, or 123 for version 1.23 *(s32*)result->value.data = gnVersion5; } } if (!result) { iError_report(cgcInternalError, false); return; } ////////// // Return our converted result ////// rpar->rp[0] = result; }
////////// // // Create a new font // ////// SFont* iFont_create(cu8* tcFontName, u32 tnFontSize, u32 tnFontWeight, u32 tnItalics, u32 tnUnderline) { s32 lnLength; u32 lnI; SFont* font; SFont* fontFirstUnused; ////////// // Make sure ////// if (!gFonts) iBuilder_createAndInitialize(&gFonts); ////////// // See if there is an unused slot ////// fontFirstUnused = NULL; lnLength = (s32)strlen((s8*)tcFontName); for (lnI = 0; lnI < gFonts->populatedLength; lnI += sizeof(SFont)) { // Grab the pointer font = (SFont*)(gFonts->data_u8 + lnI); // If used if (!font->isUsed) { // Mark this one if we haven't found a free slot yet fontFirstUnused = font; break; } } ////////// // Allocate a new pointer ////// if (!fontFirstUnused) font = (SFont*)iBuilder_allocateBytes(gFonts, sizeof(SFont)); else font = fontFirstUnused; // Double-check if (!font) return(font); // Initialize memset(font, 0, sizeof(SFont)); ////////// // Populate ////// font->isUsed = true; font->hdc = CreateCompatibleDC(GetDC(GetDesktopWindow())); iDatum_duplicate(&font->name, tcFontName, lnLength + 1); font->_size = tnFontSize; font->_weight = tnFontWeight; font->_italics = tnItalics; font->_underline = tnUnderline; font->isItalic = ((tnItalics == 0) ? false : true); font->isBold = ((tnFontWeight > FW_NORMAL) ? true : false); font->isUnderline = ((tnUnderline == 0) ? false : true); iiFont_refresh(font); // Indicate our success return(font); }
////////// // // Function: LEFT() // Returns the left N characters of a string. // ////// // Version 0.57 // Last update: // Jul.12.2014 ////// // Change log: // Jul.12.2014 - Initial creation ////// // Parameters: // pString -- Character, the string to trim // pCount -- Numeric, the number of characters to copy // ////// // Returns: // Character -- The string of the left N characters ////// void function_left(SThisCode* thisCode, SFunctionParms* rpar) { SVariable* varString = rpar->params[0]; SVariable* varCount = rpar->params[1]; s32 lnLength; u32 errorNum; bool error; SVariable* result; ////////// // Parameter 1 must be character ////// rpar->returns[0] = NULL; if (!iVariable_isValid(varString) || iVariable_getType(varString) != _VAR_TYPE_CHARACTER) { iError_reportByNumber(thisCode, _ERROR_P1_IS_INCORRECT, iVariable_getRelatedComp(thisCode, varString), false); return; } ////////// // Parameter 2 must be numeric ////// if (!iVariable_isValid(varCount) || !iVariable_isTypeNumeric(varCount)) { iError_reportByNumber(thisCode, _ERROR_P2_IS_INCORRECT, iVariable_getRelatedComp(thisCode, varCount), false); return; } ////////// // Find out how long they want our string to be ////// lnLength = iiVariable_getAs_s32(thisCode, varCount, false, &error, &errorNum); if (error) { iError_reportByNumber(thisCode, errorNum, iVariable_getRelatedComp(thisCode, varCount), false); return; } ////////// // Create our return result ////// result = iVariable_create(thisCode, _VAR_TYPE_CHARACTER, NULL, true); if (!result) { iError_report(thisCode, cgcInternalError, false); return; } ////////// // Copy as much of the source string as will fit ////// if (lnLength > 0) iDatum_duplicate(&result->value, varString->value.data_u8, min(varString->value.length, lnLength)); ////////// // Return our converted result ////// rpar->returns[0] = result; }
////////// // // Called to create the global system variables // ////// void iVjr_init_createGlobalSystemVariables(void) { s8 lnVal_s8; s32 lnVal_s32; f32 lfVal_f32; SFunctionParams lsrpar; ////////// // _startupTime ////// memset(&lsrpar, 0, sizeof(lsrpar)); function_datetime(NULL, &lsrpar); varStartupTime = lsrpar.rp[0]; iDatum_duplicate(&varStartupTime->name, cgcName_startupTime, -1); iLl_appendExistingNodeAtBeginning((SLL**)&varGlobals, (SLL*)varStartupTime); ////////// // The rest... ////// iiVjr_init_createGlobalSystemVariable(&varAlignment, _VAR_TYPE_CHARACTER, cgcName_alignment, (cs8*)&cgc_left[0], sizeof(cgc_left) - 1); iiVjr_init_createGlobalSystemVariable(&varAsciiCols, _VAR_TYPE_S32, cgcName_asciicols); iiVjr_init_createGlobalSystemVariable(&varAsciiRows, _VAR_TYPE_S32, cgcName_asciirows); iiVjr_init_createGlobalSystemVariable(&varAssist, _VAR_TYPE_CHARACTER, cgcName_assist); lnVal_s8 = _LOGICAL_TRUE; iiVjr_init_createGlobalSystemVariable(&varBox, _VAR_TYPE_LOGICAL, cgcName_box, (cs8*)&lnVal_s8, 1); iiVjr_init_createGlobalSystemVariable(&varBeautify, _VAR_TYPE_CHARACTER, cgcName_beautify); iiVjr_init_createGlobalSystemVariable(&varBrowser, _VAR_TYPE_CHARACTER, cgcName_browser); iiVjr_init_createGlobalSystemVariable(&varBuilder, _VAR_TYPE_CHARACTER, cgcName_builder); iiVjr_init_createGlobalSystemVariable(&varCalcMem, _VAR_TYPE_F64, cgcName_calcmem); iiVjr_init_createGlobalSystemVariable(&varCalcValue, _VAR_TYPE_F64, cgcName_calcvalue); iiVjr_init_createGlobalSystemVariable(&varCliptext, _VAR_TYPE_CHARACTER, cgcName_cliptext); iiVjr_init_createGlobalSystemVariable(&varCodesense, _VAR_TYPE_CHARACTER, cgcName_codesense); iiVjr_init_createGlobalSystemVariable(&varConverter, _VAR_TYPE_CHARACTER, cgcName_converter); iiVjr_init_createGlobalSystemVariable(&varCoverage, _VAR_TYPE_CHARACTER, cgcName_coverage); lnVal_s32 = -1; iiVjr_init_createGlobalSystemVariable(&varCurobj, _VAR_TYPE_S32, cgcName_curobj, (cs8*)&lnVal_s32, 4); lnVal_s32 = GetDoubleClickTime(); iiVjr_init_createGlobalSystemVariable(&varDblclick, _VAR_TYPE_S32, cgcName_dblclick, (cs8*)&lnVal_s32, 4); iiVjr_init_createGlobalSystemVariable(&varDiaryDate, _VAR_TYPE_DATE, cgcName_diarydate); iiVjr_init_createGlobalSystemVariable(&varDos, _VAR_TYPE_LOGICAL, cgcName_dos); iiVjr_init_createGlobalSystemVariable(&varFoxcode, _VAR_TYPE_CHARACTER, cgcName_foxcode); iiVjr_init_createGlobalSystemVariable(&varFoxdoc, _VAR_TYPE_CHARACTER, cgcName_foxdoc); iiVjr_init_createGlobalSystemVariable(&varFoxgraph, _VAR_TYPE_CHARACTER, cgcName_foxgraph, (cs8*)&cgcFoxgraphFilename, sizeof(cgcFoxgraphFilename) - 1); iiVjr_init_createGlobalSystemVariable(&varFoxref, _VAR_TYPE_CHARACTER, cgcName_foxref, (cs8*)&cgcFoxrefFilename, sizeof(cgcFoxrefFilename) - 1); iiVjr_init_createGlobalSystemVariable(&varFoxtask, _VAR_TYPE_CHARACTER, cgcName_foxtask, (cs8*)&cgcFoxrefFilename, sizeof(cgcFoxrefFilename) - 1); iiVjr_init_createGlobalSystemVariable(&varGallery, _VAR_TYPE_CHARACTER, cgcName_gallery, (cs8*)&cgcFoxgalleryFilename, sizeof(cgcFoxgalleryFilename) - 1); iiVjr_init_createGlobalSystemVariable(&varGengraph, _VAR_TYPE_CHARACTER, cgcName_gengraph, (cs8*)&cgcGengraphFilename, sizeof(cgcGengraphFilename) - 1); iiVjr_init_createGlobalSystemVariable(&varGenhtml, _VAR_TYPE_CHARACTER, cgcName_genhtml, (cs8*)&cgcGenhtmlFilename, sizeof(cgcGenhtmlFilename) - 1); iiVjr_init_createGlobalSystemVariable(&varGenmenu, _VAR_TYPE_CHARACTER, cgcName_genmenu, (cs8*)&cgcGenmenuFilename, sizeof(cgcGenmenuFilename) - 1); iiVjr_init_createGlobalSystemVariable(&varGenpd, _VAR_TYPE_CHARACTER, cgcName_genpd); iiVjr_init_createGlobalSystemVariable(&varFoxref, _VAR_TYPE_CHARACTER, cgcName_foxref); iiVjr_init_createGlobalSystemVariable(&varFoxtask, _VAR_TYPE_CHARACTER, cgcName_foxtask); iiVjr_init_createGlobalSystemVariable(&varGallery, _VAR_TYPE_CHARACTER, cgcName_gallery); iiVjr_init_createGlobalSystemVariable(&varGenhtml, _VAR_TYPE_CHARACTER, cgcName_genhtml); iiVjr_init_createGlobalSystemVariable(&varGenmenu, _VAR_TYPE_CHARACTER, cgcName_genmenu); iiVjr_init_createGlobalSystemVariable(&varGetexpr, _VAR_TYPE_CHARACTER, cgcName_getexpr); iiVjr_init_createGlobalSystemVariable(&varGenscrn, _VAR_TYPE_CHARACTER, cgcName_genscrn, (cs8*)&cgcGenscrnFilename, sizeof(cgcGenscrnFilename) - 1); iiVjr_init_createGlobalSystemVariable(&varGenxtab, _VAR_TYPE_CHARACTER, cgcName_genxtab); iiVjr_init_createGlobalSystemVariable(&varGetexpr, _VAR_TYPE_CHARACTER, cgcName_getexpr); lfVal_f32 = 0.5; iiVjr_init_createGlobalSystemVariable(&varIncseek, _VAR_TYPE_S32, cgcName_incseek, (cs8*)&lfVal_f32, 4); iiVjr_init_createGlobalSystemVariable(&varInclude, _VAR_TYPE_CHARACTER, cgcName_include); iiVjr_init_createGlobalSystemVariable(&varIndent, _VAR_TYPE_S32, cgcName_indent); // Defaults to 0 iiVjr_init_createGlobalSystemVariable(&varLmargin, _VAR_TYPE_S32, cgcName_lmargin); // Defaults to 0 iiVjr_init_createGlobalSystemVariable(&varMac, _VAR_TYPE_LOGICAL, cgcName_mac); // Defaults to .f. iiVjr_init_createGlobalSystemVariable(&varMeta1, _VAR_TYPE_S64, cgcName_meta1); iiVjr_init_createGlobalSystemVariable(&varMeta2, _VAR_TYPE_S64, cgcName_meta2); iiVjr_init_createGlobalSystemVariable(&varMeta3, _VAR_TYPE_S64, cgcName_meta3); iiVjr_init_createGlobalSystemVariable(&varMeta4, _VAR_TYPE_S64, cgcName_meta4); iiVjr_init_createGlobalSystemVariable(&varMeta5, _VAR_TYPE_CHARACTER, cgcName_meta5); iiVjr_init_createGlobalSystemVariable(&varMeta6, _VAR_TYPE_CHARACTER, cgcName_meta6); iiVjr_init_createGlobalSystemVariable(&varMeta7, _VAR_TYPE_LOGICAL, cgcName_meta7); iiVjr_init_createGlobalSystemVariable(&varMeta8, _VAR_TYPE_LOGICAL, cgcName_meta8); iiVjr_init_createGlobalSystemVariable(&varMeta9, _VAR_TYPE_LOGICAL, cgcName_meta9); iiVjr_init_createGlobalSystemVariable(&varMenudesigner, _VAR_TYPE_CHARACTER, cgcName_menudesigner); iiVjr_init_createGlobalSystemVariable(&varMline, _VAR_TYPE_S32, cgcName_mline); iiVjr_init_createGlobalSystemVariable(&varObjectBrowser, _VAR_TYPE_CHARACTER, cgcName_objectbrowser); iiVjr_init_createGlobalSystemVariable(&varPadvance, _VAR_TYPE_CHARACTER, cgcName_padvance, (cs8*)&cgcFormfeed[0], sizeof(cgcFormfeed) - 1); iiVjr_init_createGlobalSystemVariable(&varPageno, _VAR_TYPE_S32, cgcName_pageno); iiVjr_init_createGlobalSystemVariable(&varPagetotal, _VAR_TYPE_S32, cgcName_pagetotal); iiVjr_init_createGlobalSystemVariable(&varPretext, _VAR_TYPE_CHARACTER, cgcName_pretext); lnVal_s32 = 1; iiVjr_init_createGlobalSystemVariable(&varPbpage, _VAR_TYPE_S32, cgcName_pbpage, (cs8*)&lnVal_s32, 4); iiVjr_init_createGlobalSystemVariable(&varPcolno, _VAR_TYPE_S32, cgcName_pcolno); iiVjr_init_createGlobalSystemVariable(&varPcopies, _VAR_TYPE_S32, cgcName_pcopies, (cs8*)&lnVal_s32, 4); iiVjr_init_createGlobalSystemVariable(&varPdriver, _VAR_TYPE_CHARACTER, cgcName_pdriver); iiVjr_init_createGlobalSystemVariable(&varPdsetup, _VAR_TYPE_CHARACTER, cgcName_pdsetup); iiVjr_init_createGlobalSystemVariable(&varPecode, _VAR_TYPE_CHARACTER, cgcName_pecode); iiVjr_init_createGlobalSystemVariable(&varPeject, _VAR_TYPE_CHARACTER, cgcName_peject, (cs8*)&cgcNone[0], sizeof(cgcNone) - 1); lnVal_s32 = 32767; iiVjr_init_createGlobalSystemVariable(&varPepage, _VAR_TYPE_S32, cgcName_pepage, (cs8*)&lnVal_s32, 4); lnVal_s32 = 66; iiVjr_init_createGlobalSystemVariable(&varPlength, _VAR_TYPE_S32, cgcName_plength, (cs8*)&lnVal_s32, 4); iiVjr_init_createGlobalSystemVariable(&varPlineno, _VAR_TYPE_S32, cgcName_plineno); iiVjr_init_createGlobalSystemVariable(&varPloffset, _VAR_TYPE_S32, cgcName_ploffset); iiVjr_init_createGlobalSystemVariable(&varPpitch, _VAR_TYPE_CHARACTER, cgcName_ppitch, (cs8*)&cgcDefault[0], sizeof(cgcDefault) - 1); iiVjr_init_createGlobalSystemVariable(&varPquality, _VAR_TYPE_LOGICAL, cgcName_pquality); iiVjr_init_createGlobalSystemVariable(&varPretext, _VAR_TYPE_CHARACTER, cgcName_pretext); iiVjr_init_createGlobalSystemVariable(&varPscode, _VAR_TYPE_CHARACTER, cgcName_pscode); iiVjr_init_createGlobalSystemVariable(&varPspacing, _VAR_TYPE_S32, cgcName_pspacing, (cs8*)&lnVal_s32, 4); iiVjr_init_createGlobalSystemVariable(&varPwait, _VAR_TYPE_LOGICAL, cgcName_pwait); iiVjr_init_createGlobalSystemVariable(&varReportBuilder, _VAR_TYPE_CHARACTER, cgcName_reportbuilder, (cs8*)&cgcReportBuilderFilename[0], sizeof(cgcReportBuilderFilename) - 1); iiVjr_init_createGlobalSystemVariable(&varReportOutput, _VAR_TYPE_CHARACTER, cgcName_reportoutput, (cs8*)&cgcReportOutputFilename[0], sizeof(cgcReportOutputFilename) - 1); iiVjr_init_createGlobalSystemVariable(&varReportpreview, _VAR_TYPE_CHARACTER, cgcName_reportpreview, (cs8*)&cgcReportPreviewFilename[0], sizeof(cgcReportPreviewFilename) - 1); lnVal_s32 = 80; iiVjr_init_createGlobalSystemVariable(&varRmargin, _VAR_TYPE_S32, cgcName_rmargin, (cs8*)&lnVal_s32, 4); iiVjr_init_createGlobalSystemVariable(&varRunactivedoc, _VAR_TYPE_CHARACTER, cgcName_runactivedoc, (cs8*)&cgcRunActiveDocFilename[0], sizeof(cgcRunActiveDocFilename) - 1); iiVjr_init_createGlobalSystemVariable(&varSamples, _VAR_TYPE_CHARACTER, cgcName_samples, (cs8*)&cgcSamples[0], sizeof(cgcSamples) - 1); iiVjr_init_createGlobalSystemVariable(&varScctext, _VAR_TYPE_CHARACTER, cgcName_scctext, (cs8*)&cgcScctextFilename[0], sizeof(cgcScctextFilename) - 1); // varScreen is initialized as _screen system-wide iiVjr_init_createGlobalSystemVariable(&varShell, _VAR_TYPE_CHARACTER, cgcName_shell); iiVjr_init_createGlobalSystemVariable(&varSpellchk, _VAR_TYPE_CHARACTER, cgcName_spellchk, (cs8*)&cgcSpellchkFilename[0], sizeof(cgcSpellchkFilename) - 1); iiVjr_init_createGlobalSystemVariable(&varStartup, _VAR_TYPE_CHARACTER, cgcName_startup, (cs8*)&cgcStartupPrgFilename[0], sizeof(cgcStartupPrgFilename) - 1); // varStartupTime is set above iiVjr_init_createGlobalSystemVariable(&varTabs, _VAR_TYPE_CHARACTER, cgcName_tabs); iiVjr_init_createGlobalSystemVariable(&varTasklist, _VAR_TYPE_CHARACTER, cgcName_tasklist, (cs8*)&cgcTasklistFilename[0], sizeof(cgcTasklistFilename) - 1); iiVjr_init_createGlobalSystemVariable(&varTaskpane, _VAR_TYPE_CHARACTER, cgcName_taskpane, (cs8*)&cgcTaskpaneFilename[0], sizeof(cgcTaskpaneFilename) - 1); iiVjr_init_createGlobalSystemVariable(&varTally, _VAR_TYPE_S64, cgcName_tally); lnVal_s32 = -1; iiVjr_init_createGlobalSystemVariable(&varText, _VAR_TYPE_CHARACTER, cgcName_text, (cs8*)&lnVal_s32, 4); lnVal_s32 = 1; iiVjr_init_createGlobalSystemVariable(&varThrottle, _VAR_TYPE_S32, cgcName_throttle, (cs8*)&lnVal_s32, 4); iiVjr_init_createGlobalSystemVariable(&varToolbox, _VAR_TYPE_CHARACTER, cgcName_toolbox, (cs8*)&cgcToolboxFilename[0], sizeof(cgcToolboxFilename) - 1); lnVal_s32 = -1; iiVjr_init_createGlobalSystemVariable(&varTooltiptimeout, _VAR_TYPE_S32, cgcName_tooltiptimeout, (cs8*)&lnVal_s32, 4); iiVjr_init_createGlobalSystemVariable(&varTransport, _VAR_TYPE_CHARACTER, cgcName_transport); iiVjr_init_createGlobalSystemVariable(&varTriggerlevel, _VAR_TYPE_S32, cgcName_triggerlevel); iiVjr_init_createGlobalSystemVariable(&varUnix, _VAR_TYPE_LOGICAL, cgcName_unix); // varVfp is initialized as _vjr system-wide lnVal_s8 = _LOGICAL_TRUE; iiVjr_init_createGlobalSystemVariable(&varWindows, _VAR_TYPE_LOGICAL, cgcName_windows, (cs8*)&lnVal_s8, 1); iiVjr_init_createGlobalSystemVariable(&varWizard, _VAR_TYPE_CHARACTER, cgcName_wizard, (cs8*)&cgcWizardFilename[0], sizeof(cgcWizardFilename) - 1); iiVjr_init_createGlobalSystemVariable(&varWrap, _VAR_TYPE_LOGICAL, cgcName_wrap, ".F." ); }
void iiDatum_duplicate_fromComp(SDatum* datum, SComp* comp) { iDatum_duplicate(datum, comp->line->sourceCode->data_cs8 + comp->start, comp->length); }
void iDatum_duplicate_fromComp(SDatum* datum, SComp* comp) { // Make sure our environment is sane if (datum && comp && comp->line && comp->line->sourceCode && comp->line->sourceCode->data_cs8 && comp->length != 0) iDatum_duplicate(datum, comp->line->sourceCode->data_cs8 + comp->start, comp->length); }
void iDatum_duplicate(SDatum* datumDst, SDatum* datumSrc) { // Make sure our environment is sane if (datumDst && datumSrc && datumSrc->data) iDatum_duplicate(datumDst, datumSrc->data_u8, datumSrc->length); }
void iDatum_duplicate(SDatum* datum, cs8* data, s32 dataLength) { iDatum_duplicate(datum, (u8*)data, dataLength); }