/* length units
*/
-static const int num_units = int(LyXLength::UNIT_NONE);
+static const int num_units = LyXLength::UNIT_NONE;
// I am not sure if "mu" should be possible to select (Lgb)
static char const * unit_name[num_units] = { "sp", "pt", "bp", "dd",
//static int number_index, unit_index;
int number_index, unit_index;
-static inline void advance (string & data, unsigned int n)
+static inline void lyx_advance (string & data, unsigned int n)
{
data.erase(0, n);
}
if (data.empty())
return '\0';
else if (data[0] == '+') {
- advance (data, 1);
+ lyx_advance (data, 1);
return '+';
}
else if (prefixIs(data, "plus")) {
- advance (data, 4);
+ lyx_advance (data, 4);
return '+';
}
else if (data[0] == '-') {
- advance (data, 1);
+ lyx_advance (data, 1);
return '-';
}
else if (prefixIs(data, "minus")) {
- advance (data, 5);
+ lyx_advance (data, 5);
return '-';
}
else {
string::size_type i;
// I really mean assignment ("=") below, not equality!
- if ((i = data.find_first_not_of("0123456789.")) != string::npos) {
+ if ((i = data.find_last_of("0123456789.")) != string::npos) {
if (number_index > 3) return 'E'; // Error
- string buffer = data.substr(0, i);
+ string buffer = data.substr(0, i + 1);
if (sscanf (buffer.c_str(),
"%f", &number[number_index]) == 1) {
- advance (data, i);
+ lyx_advance (data, i + 1);
++number_index;
return 'n';
} else
return 'E'; // Error
- } else if (( i = data
- .find_first_of("abcdefghijklmnopqrstuvwxyz")) != string::npos) {
+ } else if ((i=data.find_last_of("abcdefghijklmnopqrstuvwxyz"))
+ != string::npos) {
if (unit_index > 3) return 'E'; // Error
- string buffer = data.substr(0, i);
+ string buffer = data.substr(0, i + 1);
unit[unit_index] = unitFromString (buffer);
if (unit[unit_index] != LyXLength::UNIT_NONE) {
- advance (data, i);
+ lyx_advance (data, i + 1);
++unit_index;
return 'u';
} else
short val_sign = 1; // positive as default
switch(buffer[0]) {
case '-':
- advance(buffer, 1);
+ lyx_advance(buffer, 1);
val_sign = -1;
break;
case '+':
- advance(buffer, 1);
+ lyx_advance(buffer, 1);
// fall through
default:
// no action
short val_sign = 1; // positive as default
switch(buffer[0]) {
case '-':
- advance(buffer, 1);
+ lyx_advance(buffer, 1);
val_sign = -1;
break;
case '+':
- advance(buffer, 1);
+ lyx_advance(buffer, 1);
// fall through
default:
// no action