diff options
author | Michael Vogt <mvo@ubuntu.com> | 2013-10-01 12:38:03 +0200 |
---|---|---|
committer | Michael Vogt <mvo@ubuntu.com> | 2013-10-01 12:38:03 +0200 |
commit | 2ddab3fb958518acbd26685eeeb7755106b721a3 (patch) | |
tree | b5138b85e166b85036856e274bc4ef538ea70886 | |
parent | 41053d721ce7f81652d7e873067376b94f9a060d (diff) |
change maxsplit default from "0" to maxint
-rw-r--r-- | apt-pkg/contrib/strutl.cc | 2 | ||||
-rw-r--r-- | apt-pkg/contrib/strutl.h | 4 | ||||
-rw-r--r-- | test/libapt/strutil_test.cc | 4 |
3 files changed, 7 insertions, 3 deletions
diff --git a/apt-pkg/contrib/strutl.cc b/apt-pkg/contrib/strutl.cc index 96c6d2f35..77e48962c 100644 --- a/apt-pkg/contrib/strutl.cc +++ b/apt-pkg/contrib/strutl.cc @@ -1139,7 +1139,7 @@ vector<string> StringSplit(std::string const &s, std::string const &sep, split.push_back(s.substr(start, pos-start)); // if maxsplit is reached, the remaining string is the last item - if(maxsplit > 0 && split.size() >= maxsplit) + if(split.size() >= maxsplit) { split[split.size()-1] = s.substr(start); break; diff --git a/apt-pkg/contrib/strutl.h b/apt-pkg/contrib/strutl.h index eb47287a4..b42e06491 100644 --- a/apt-pkg/contrib/strutl.h +++ b/apt-pkg/contrib/strutl.h @@ -17,7 +17,7 @@ #define STRUTL_H - +#include <limits> #include <stdlib.h> #include <string> #include <cstring> @@ -86,7 +86,7 @@ std::vector<std::string> VectorizeString(std::string const &haystack, char const */ std::vector<std::string> StringSplit(std::string const &input, std::string const &sep, - unsigned int maxsplit=0) __attrib_const; + unsigned int maxsplit=std::numeric_limits<unsigned int>::max()) __attrib_const; void ioprintf(std::ostream &out,const char *format,...) __like_printf(2); void strprintf(std::string &out,const char *format,...) __like_printf(2); diff --git a/test/libapt/strutil_test.cc b/test/libapt/strutil_test.cc index b044b7f34..110a20d27 100644 --- a/test/libapt/strutil_test.cc +++ b/test/libapt/strutil_test.cc @@ -65,5 +65,9 @@ int main(int argc,char *argv[]) equals(result[0], "x"); equals(result[1], "y:z"); + input = "abc"; + result = StringSplit(input, ""); + equals(result.size(), 0); + return 0; } |