allow utf-8 variables names in Python dump

This commit is contained in:
Paul RASCLE 2018-07-26 19:35:16 +02:00
parent 4e4f62e33a
commit 50b5fac2a8

View File

@ -884,25 +884,25 @@ namespace {
bool isValidName = true; bool isValidName = true;
int nbUnderscore = 0; int nbUnderscore = 0;
int p; int p;
// replace not allowed chars by underscore // // replace not allowed chars by underscore
const char* name = aName.ToCString(); // const char* name = aName.ToCString();
for ( p = 0; name[p]; ++p ) { // for ( p = 0; name[p]; ++p ) {
if ( !isalnum( name[p] ) && name[p] != '_' ) // if ( !isalnum( name[p] ) && name[p] != '_' )
{ // {
if ( p == 0 || p+1 == aName.Length() || name[p-1] == '_') // if ( p == 0 || p+1 == aName.Length() || name[p-1] == '_')
{ // {
aName.Remove( p+1, 1 ); // remove __ and _ from the start and the end // aName.Remove( p+1, 1 ); // remove __ and _ from the start and the end
--p; // --p;
name = aName.ToCString(); // name = aName.ToCString();
} // }
else // else
{ // {
aName.SetValue( p+1, '_'); // aName.SetValue( p+1, '_');
nbUnderscore++; // nbUnderscore++;
} // }
isValidName = false; // isValidName = false;
} // }
} // }
// aName must not start with a digit // aName must not start with a digit
if ( aName.IsIntegerValue() ) { if ( aName.IsIntegerValue() ) {
aName.Insert( 1, 'a' ); aName.Insert( 1, 'a' );