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:
@@ -318,6 +318,8 @@ void SbiSymDef::SetType( SbxDataType t )
|
|||||||
{
|
{
|
||||||
if( t == SbxVARIANT && pIn )
|
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];
|
sal_Unicode cu = aName[0];
|
||||||
if( cu < 256 )
|
if( cu < 256 )
|
||||||
{
|
{
|
||||||
@@ -327,14 +329,9 @@ void SbiSymDef::SetType( SbxDataType t )
|
|||||||
ch = 'Z';
|
ch = 'Z';
|
||||||
}
|
}
|
||||||
int ch2 = toupper( ch );
|
int ch2 = toupper( ch );
|
||||||
unsigned char c = (unsigned char)ch2;
|
int nIndex = ch2 - 'A';
|
||||||
if( c > 0 && c < 128 )
|
if (nIndex >= 0 && nIndex < N_DEF_TYPES)
|
||||||
{
|
t = pIn->pParser->eDefTypes[nIndex];
|
||||||
int nIndex = ch2 - 'A';
|
|
||||||
assert(nIndex >= 0 && nIndex < N_DEF_TYPES);
|
|
||||||
if (nIndex >= 0 && nIndex < N_DEF_TYPES)
|
|
||||||
t = pIn->pParser->eDefTypes[nIndex];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
eType = t;
|
eType = t;
|
||||||
|
Reference in New Issue
Block a user