Explorar el Código

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

Instead, return a vector of one empty string.
Ali Mohammad Pur hace 3 años
padre
commit
aa20210119
Se han modificado 1 ficheros con 9 adiciones y 0 borrados
  1. 9 0
      Userland/Libraries/LibRegex/RegexMatch.h

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

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