]> git.lyx.org Git - features.git/blobdiff - src/vspace.C
the runlatex merge
[features.git] / src / vspace.C
index d442fa9794810facf772fcc8bea9c51d574e5ecb..2aa68aa8ca36dee5e52597e676bd95567ea5dd07 100644 (file)
@@ -31,7 +31,7 @@ extern BufferView *current_view;
 /*  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",
@@ -57,7 +57,7 @@ static LyXLength::UNIT unit[4]   = { LyXLength::UNIT_NONE,
 //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);
 }
@@ -73,42 +73,42 @@ static char nextToken (string & data)
        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
@@ -165,11 +165,11 @@ bool isValidGlueLength (string const & data, LyXGlueLength * result)
        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
@@ -229,11 +229,11 @@ bool isValidLength(string const & data, LyXLength * result)
        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