Prechádzať zdrojové kódy

LibRegex: Don't return empty vectors from RegexStringView::lines()

Instead, return a vector of one empty string.
Ali Mohammad Pur 3 rokov pred
rodič
commit
aa20210119
1 zmenil súbory, kde vykonal 9 pridanie a 0 odobranie
  1. 9 0
      Userland/Libraries/LibRegex/RegexMatch.h

+ 9 - 0
Userland/Libraries/LibRegex/RegexMatch.h

@@ -172,6 +172,9 @@ public:
                 return new_views;
             },
             [](Utf32View view) {
+                if (view.is_empty())
+                    return Vector<RegexStringView> { view };
+
                 Vector<RegexStringView> views;
                 u32 newline = '\n';
                 while (!view.is_empty()) {
@@ -187,6 +190,9 @@ public:
                 return views;
             },
             [](Utf16View view) {
+                if (view.is_empty())
+                    return Vector<RegexStringView> { view };
+
                 Vector<RegexStringView> views;
                 u16 newline = '\n';
                 while (!view.is_empty()) {
@@ -202,6 +208,9 @@ public:
                 return views;
             },
             [](Utf8View const& view) {
+                if (view.is_empty())
+                    return Vector<RegexStringView> { view };
+
                 Vector<RegexStringView> views;
                 auto it = view.begin();
                 auto previous_newline_position_it = it;