Pārlūkot izejas kodu

LibRegex: Tweak get_error() function

- Return StringView instead of DeprecatedString from function
  returning only literals
- Remove redundant cast
- Remove "inline" -- the function is defined in a cpp file,
  so there's no need for the linkage implications of `inline`.
  And compilers know to inline static functions with a single
  use without it. (Normally I'd remove the `static` instead,
  but this is in an `extern "C"` block, and it doesn't matter
  enough to end that block before the helper function and
  reopen it enough after)
Nico Weber 2 gadi atpakaļ
vecāks
revīzija
5fdef94d53
1 mainītis faili ar 19 papildinājumiem un 37 dzēšanām
  1. 19 37
      Userland/Libraries/LibRegex/C/Regex.cpp

+ 19 - 37
Userland/Libraries/LibRegex/C/Regex.cpp

@@ -152,61 +152,43 @@ int regexec(regex_t const* reg, char const* string, size_t nmatch, regmatch_t pm
     return REG_NOMATCH;
 }
 
-inline static DeprecatedString get_error(ReError errcode)
+static StringView get_error(ReError errcode)
 {
-    DeprecatedString error;
-    switch ((ReError)errcode) {
+    switch (errcode) {
     case REG_NOERR:
-        error = "No error";
-        break;
+        return "No error"sv;
     case REG_NOMATCH:
-        error = "regexec() failed to match.";
-        break;
+        return "regexec() failed to match."sv;
     case REG_BADPAT:
-        error = "Invalid regular expression.";
-        break;
+        return "Invalid regular expression."sv;
     case REG_ECOLLATE:
-        error = "Invalid collating element referenced.";
-        break;
+        return "Invalid collating element referenced."sv;
     case REG_ECTYPE:
-        error = "Invalid character class type referenced.";
-        break;
+        return "Invalid character class type referenced."sv;
     case REG_EESCAPE:
-        error = "Trailing \\ in pattern.";
-        break;
+        return "Trailing \\ in pattern."sv;
     case REG_ESUBREG:
-        error = "Number in \\digit invalid or in error.";
-        break;
+        return "Number in \\digit invalid or in error."sv;
     case REG_EBRACK:
-        error = "[ ] imbalance.";
-        break;
+        return "[ ] imbalance."sv;
     case REG_EPAREN:
-        error = "\\( \\) or ( ) imbalance.";
-        break;
+        return "\\( \\) or ( ) imbalance."sv;
     case REG_EBRACE:
-        error = "\\{ \\} imbalance.";
-        break;
+        return "\\{ \\} imbalance."sv;
     case REG_BADBR:
-        error = "Content of \\{ \\} invalid: not a number, number too large, more than two numbers, first larger than second.";
-        break;
+        return "Content of \\{ \\} invalid: not a number, number too large, more than two numbers, first larger than second."sv;
     case REG_ERANGE:
-        error = "Invalid endpoint in range expression.";
-        break;
+        return "Invalid endpoint in range expression."sv;
     case REG_ESPACE:
-        error = "Out of memory.";
-        break;
+        return "Out of memory."sv;
     case REG_BADRPT:
-        error = "?, * or + not preceded by valid regular expression.";
-        break;
+        return "?, * or + not preceded by valid regular expression."sv;
     case REG_ENOSYS:
-        error = "The implementation does not support the function.";
-        break;
+        return "The implementation does not support the function."sv;
     case REG_EMPTY_EXPR:
-        error = "Empty expression provided";
-        break;
+        return "Empty expression provided"sv;
     }
-
-    return error;
+    return {};
 }
 
 size_t regerror(int errcode, regex_t const* reg, char* errbuf, size_t errbuf_size)