summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2019-06-19 16:05:40 -0400
committerGitHub <noreply@github.com>2019-06-19 16:05:40 -0400
commit442f8c6d3d42b892e3f13128bcb6487ff7508f0d (patch)
tree79746a98390c49bba9639ee84999304731210a8b /tools
parent48ae5496516878768d7de241b9b7fbba91fbaa74 (diff)
Make extractLine return a bool. (#991)
Diffstat (limited to 'tools')
-rw-r--r--tools/slang-generate/main.cpp10
-rw-r--r--tools/slang-test/unit-test-string.cpp27
2 files changed, 8 insertions, 29 deletions
diff --git a/tools/slang-generate/main.cpp b/tools/slang-generate/main.cpp
index 7c0e3672a..be06836e7 100644
--- a/tools/slang-generate/main.cpp
+++ b/tools/slang-generate/main.cpp
@@ -554,15 +554,9 @@ void emitSimpleText(
FILE* stream,
StringSpan const& span)
{
- UnownedStringSlice content = span;
- while (true)
+ UnownedStringSlice content(span), line;
+ while (StringUtil::extractLine(content, line))
{
- const auto line = StringUtil::extractLine(content);
- if (line.begin() == nullptr)
- {
- break;
- }
-
// Write the line
fwrite(line.begin(), 1, line.size(), stream);
diff --git a/tools/slang-test/unit-test-string.cpp b/tools/slang-test/unit-test-string.cpp
index 6110ca55e..5811a4a64 100644
--- a/tools/slang-test/unit-test-string.cpp
+++ b/tools/slang-test/unit-test-string.cpp
@@ -26,36 +26,21 @@ static bool _areEqual(const List<UnownedStringSlice>& lines, const UnownedString
static bool _checkLines(const UnownedStringSlice& input, const UnownedStringSlice* checkLines, Int checkLinesCount)
{
List<UnownedStringSlice> lines;
- UnownedStringSlice text(input);
- while (true)
- {
- UnownedStringSlice line = StringUtil::extractLine(text);
- if (line.begin() == nullptr)
- {
- return _areEqual(lines, checkLines, checkLinesCount);
- }
- lines.add(line);
- }
+ StringUtil::calcLines(input, lines);
+ return _areEqual(lines, checkLines, checkLinesCount);
}
static bool _checkLineParser(const UnownedStringSlice& input)
{
- UnownedStringSlice remaining(input);
- for (const auto line : LineParser(input))
+ UnownedStringSlice remaining(input), line;
+ for (const auto parserLine : LineParser(input))
{
- UnownedStringSlice extractLine = StringUtil::extractLine(remaining);
- if (line != extractLine)
+ if (!StringUtil::extractLine(remaining, line) || line != parserLine)
{
return false;
}
- // Handle hitting the end
- if (line.begin() == nullptr || extractLine.begin() == nullptr)
- {
- return line.begin() == extractLine.begin();
- }
}
-
- return remaining.begin() == nullptr;
+ return StringUtil::extractLine(remaining, line) == false;
}
static void stringUnitTest()