/* * Copyright (C) 2016+ AzerothCore , released under GNU GPL v2 license, you may redistribute it * and/or modify it under version 2 of the License, or (at your option), any later version. */ #include "Helpers.h" char* strstri(char const* haystack, char const* needle) { if (!*needle) { return (char*)haystack; } for (; *haystack; ++haystack) { if (tolower(*haystack) == tolower(*needle)) { char const *h = haystack, *n = needle; for (; *h && *n; ++h, ++n) { if (tolower(*h) != tolower(*n)) { break; } } if (!*n) { return (char*)haystack; } } } return 0; } std::string& ltrim(std::string& s) { s.erase(s.begin(), std::find_if(s.begin(), s.end(), [](int c) { return !std::isspace(c); })); return s; } std::string& rtrim(std::string& s) { s.erase(std::find_if(s.rbegin(), s.rend(), [](int c) { return !std::isspace(c); }).base(), s.end()); return s; } std::string& trim(std::string& s) { return ltrim(rtrim(s)); }