commit eba0bbe503d247c988a943cd4102b8d3249aad55
Author: Jean-Marc <[email protected]>
Date:   Sat Sep 12 18:05:08 2015 +0200

    Fix unreachable code
    
    Coverity issues 23292 and 23297.

diff --git a/src/support/lstrings.cpp b/src/support/lstrings.cpp
index 3a081a7..5e68b75 100644
--- a/src/support/lstrings.cpp
+++ b/src/support/lstrings.cpp
@@ -1074,18 +1074,20 @@ String const doSplit(String const & a, String & piece, 
Char delim)
        size_t i = a.find(delim);
        if (i == a.length() - 1) {
                piece = a.substr(0, i);
-       } else if (i != String::npos) {
-               piece = a.substr(0, i);
-               tmp = a.substr(i + 1);
        } else if (i == 0) {
                piece.erase();
                tmp = a.substr(i + 1);
+       } else if (i != String::npos) {
+               piece = a.substr(0, i);
+               tmp = a.substr(i + 1);
        } else {
                piece = a;
        }
        return tmp;
 }
 
+
+// FIXME: why is this specialization needed?
 template<typename Char> inline
 docstring const doSplit(docstring const & a, docstring & piece, Char delim)
 {
@@ -1093,12 +1095,12 @@ docstring const doSplit(docstring const & a, docstring 
& piece, Char delim)
        size_t i = a.find(delim);
        if (i == a.length() - 1) {
                piece = a.substr(0, i);
-       } else if (i != docstring::npos) {
-               piece = a.substr(0, i);
-               tmp = a.substr(i + 1);
        } else if (i == 0) {
                piece.erase();
                tmp = a.substr(i + 1);
+       } else if (i != docstring::npos) {
+               piece = a.substr(0, i);
+               tmp = a.substr(i + 1);
        } else {
                piece = a;
        }

Reply via email to