/*--------------------------------------------------------------------------*/ int sci_typename_no_rhs(char *fname, unsigned long fname_len) { SciErr sciErr; int numberOfTypes = 0; int *TypesNumbers = NULL; int m_out1 = 0, n_out1 = 0; TypesNumbers = getAllTypesNumber(&numberOfTypes); m_out1 = numberOfTypes; n_out1 = 1; sciErr = createMatrixOfInteger32(pvApiCtx, Rhs + 1, m_out1, n_out1, TypesNumbers); if (sciErr.iErr) { printError(&sciErr, 0); Scierror(999, _("%s: Memory allocation error.\n"), fname); return 0; } if (TypesNumbers) { FREE(TypesNumbers); TypesNumbers = NULL; } LhsVar(1) = Rhs + 1; if (Lhs > 1) { int m_out2 = 0, n_out2 = 0; char **TypesNames = NULL; TypesNames = getAllTypesName(&numberOfTypes); m_out2 = numberOfTypes; n_out2 = 1; sciErr = createMatrixOfString(pvApiCtx, Rhs + 2, m_out2, n_out2, (const char *const *)TypesNames); if (sciErr.iErr) { printError(&sciErr, 0); Scierror(999, _("%s: Memory allocation error.\n"), fname); return 0; } if (TypesNames) { freeArrayOfString(TypesNames, numberOfTypes); } LhsVar(2) = Rhs + 2; } PutLhsVar(); return 0; }
/*--------------------------------------------------------------------------*/ BOOL isTypeNameAlreadyExist(char *name) { int sizeArray = 0; char **TypeNames = getAllTypesName(&sizeArray); int i = 0; if (TypeNames) { for (i = 0; i < sizeArray; i++) { if (strcmp(name, TypeNames[i]) == 0) { freeArrayOfString(TypeNames, sizeArray); return TRUE; } } freeArrayOfString(TypeNames, sizeArray); } return FALSE; }