summaryrefslogtreecommitdiff
path: root/Build/source/texk/dvisvgm/dvisvgm-src/src/BoundingBox.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/dvisvgm/dvisvgm-src/src/BoundingBox.cpp')
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-src/src/BoundingBox.cpp24
1 files changed, 12 insertions, 12 deletions
diff --git a/Build/source/texk/dvisvgm/dvisvgm-src/src/BoundingBox.cpp b/Build/source/texk/dvisvgm/dvisvgm-src/src/BoundingBox.cpp
index f45b17e966d..ba5d62c9835 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-src/src/BoundingBox.cpp
+++ b/Build/source/texk/dvisvgm/dvisvgm-src/src/BoundingBox.cpp
@@ -67,26 +67,26 @@ BoundingBox::BoundingBox (const string &boxstr)
}
-/** Extracts a sequence of length values from a given string.
+/** Extracts a sequence of length values from a string like "5cm, 2.4in, 0pt".
* @param[in] boxstr whitespace and/or comma separated string of lengths.
* @param[out] the extracted lengths */
void BoundingBox::extractLengths (string boxstr, vector<Length> &lengths) {
- const size_t len = boxstr.length();
- size_t l=0;
boxstr = util::trim(boxstr);
+ const size_t len = boxstr.length();
+ size_t left=0;
string lenstr;
do {
- while (l < len && isspace(boxstr[l]))
- l++;
- size_t r=l;
- while (r < len && !isspace(boxstr[r]) && boxstr[r] != ',')
- r++;
- lenstr = boxstr.substr(l, r-l);
+ while (left < len && isspace(boxstr[left]))
+ left++;
+ size_t right=left;
+ while (right < len && !isspace(boxstr[right]) && boxstr[right] != ',')
+ right++;
+ lenstr = boxstr.substr(left, right-left);
if (!lenstr.empty()) {
lengths.emplace_back(Length(lenstr));
- if (boxstr[r] == ',')
- r++;
- l = r;
+ if (boxstr[right] == ',')
+ right++;
+ left = right;
}
} while (!lenstr.empty() && lengths.size() < 4);
}