summaryrefslogtreecommitdiffstats
path: root/Source/cmDocumentationFormatter.cxx
diff options
context:
space:
mode:
authorAlex Turbov <i.zaufi@gmail.com>2022-08-23 06:57:00 (GMT)
committerAlex Turbov <i.zaufi@gmail.com>2022-11-17 12:37:09 (GMT)
commitf27537ec3db3a53a83da9d9824f10f139397476e (patch)
treef8389c524f371acd1f98bd80141f7da589b66353 /Source/cmDocumentationFormatter.cxx
parent84241189f6a68611f79e9a3d78fc0192e1008cb1 (diff)
downloadCMake-f27537ec3db3a53a83da9d9824f10f139397476e.zip
CMake-f27537ec3db3a53a83da9d9824f10f139397476e.tar.gz
CMake-f27537ec3db3a53a83da9d9824f10f139397476e.tar.bz2
cmDocumentationFormatter: Turn `TextWidth` member into `size_t`
Cuz normally required text width can't be negative. It was `int`…
Diffstat (limited to 'Source/cmDocumentationFormatter.cxx')
-rw-r--r--Source/cmDocumentationFormatter.cxx16
1 files changed, 9 insertions, 7 deletions
diff --git a/Source/cmDocumentationFormatter.cxx b/Source/cmDocumentationFormatter.cxx
index 8f0976c..85276fc 100644
--- a/Source/cmDocumentationFormatter.cxx
+++ b/Source/cmDocumentationFormatter.cxx
@@ -80,10 +80,12 @@ void cmDocumentationFormatter::PrintColumn(std::ostream& os, const char* text)
{
// Print text arranged in an indented column of fixed width.
const char* l = text;
- long column = 0;
bool newSentence = false;
bool firstLine = true;
- int width = this->TextWidth - static_cast<int>(this->TextIndent);
+
+ assert(this->TextIndent < this->TextWidth);
+ const std::ptrdiff_t width = this->TextWidth - this->TextIndent;
+ std::ptrdiff_t column = 0;
// Loop until the end of the text.
while (*l) {
@@ -94,7 +96,7 @@ void cmDocumentationFormatter::PrintColumn(std::ostream& os, const char* text)
}
// Does it fit on this line?
- if (r - l < (width - column - (newSentence ? 1 : 0))) {
+ if (r - l < width - column - std::ptrdiff_t(newSentence)) {
// Word fits on this line.
if (r > l) {
if (column) {
@@ -114,7 +116,7 @@ void cmDocumentationFormatter::PrintColumn(std::ostream& os, const char* text)
}
// Print the word.
- os.write(l, static_cast<long>(r - l));
+ os.write(l, r - l);
newSentence = (*(r - 1) == '.');
}
@@ -126,7 +128,7 @@ void cmDocumentationFormatter::PrintColumn(std::ostream& os, const char* text)
firstLine = false;
} else {
// No provided newline. Continue this line.
- column += static_cast<long>(r - l);
+ column += r - l;
}
} else {
// Word does not fit on this line. Start a new line.
@@ -134,8 +136,8 @@ void cmDocumentationFormatter::PrintColumn(std::ostream& os, const char* text)
firstLine = false;
if (r > l) {
os << std::string(this->TextIndent, ' ');
- os.write(l, static_cast<long>(r - l));
- column = static_cast<long>(r - l);
+ os.write(l, r - l);
+ column = r - l;
newSentence = (*(r - 1) == '.');
} else {
column = 0;