this is for detecting the type of a variable based on its name

which means legal input is any character which a variable can
start with

Change-Id: I0c2d13a92ba374f8020e86e90e8e5f18ce8a9c90
This commit is contained in:
Caolán McNamara
2014-11-14 14:18:51 +00:00
parent e8fbdb374a
commit 9dacd849b6

View File

@@ -318,6 +318,8 @@ void SbiSymDef::SetType( SbxDataType t )
{
if( t == SbxVARIANT && pIn )
{
//See if there have been any deftype statements to set the default type
//of a variable based on its starting letter
sal_Unicode cu = aName[0];
if( cu < 256 )
{
@@ -327,14 +329,9 @@ void SbiSymDef::SetType( SbxDataType t )
ch = 'Z';
}
int ch2 = toupper( ch );
unsigned char c = (unsigned char)ch2;
if( c > 0 && c < 128 )
{
int nIndex = ch2 - 'A';
assert(nIndex >= 0 && nIndex < N_DEF_TYPES);
if (nIndex >= 0 && nIndex < N_DEF_TYPES)
t = pIn->pParser->eDefTypes[nIndex];
}
int nIndex = ch2 - 'A';
if (nIndex >= 0 && nIndex < N_DEF_TYPES)
t = pIn->pParser->eDefTypes[nIndex];
}
}
eType = t;