Esempio n. 1
0
/*--------------------------------------------------------------------------*/
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;
}
Esempio n. 2
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;
}