diff options
author | David Bremner <bremner@debian.org> | 2017-11-11 08:46:16 -0400 |
---|---|---|
committer | David Bremner <bremner@debian.org> | 2017-11-11 08:46:16 -0400 |
commit | ddd3f417602bdd5fd55b741900f9450402c6ad02 (patch) | |
tree | 541c8e8e99eff11f58504975dc782d7ee931598b /lib/mystring/find_last_of.cc |
Import nullmailer_2.1.orig.tar.gz
[dgit import orig nullmailer_2.1.orig.tar.gz]
Diffstat (limited to 'lib/mystring/find_last_of.cc')
-rw-r--r-- | lib/mystring/find_last_of.cc | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/lib/mystring/find_last_of.cc b/lib/mystring/find_last_of.cc new file mode 100644 index 0000000..b8f8831 --- /dev/null +++ b/lib/mystring/find_last_of.cc @@ -0,0 +1,24 @@ +#include "mystring.h" +#include <string.h> + +int mystring::find_last_of(const char* setstr, size_t setlen, + size_t offset) const +{ + if(offset == (size_t)-1) + offset = rep->length-1; + for(int i = offset; i >= 0; --i) { + if(memchr(setstr, rep->buf[i], setlen)) + return i; + } + return -1; +} + +int mystring::find_last_of(const char* setstr, size_t offset) const +{ + return find_last_of(setstr, strlen(setstr), offset); +} + +int mystring::find_last_of(const mystring& setstr, size_t offset) const +{ + return find_last_of(setstr.rep->buf, setstr.rep->length, offset); +} |