diff --git a/StaticResourceAssert/Common.cpp b/StaticResourceAssert/Common.cpp index ecfbd51..bc772bf 100644 --- a/StaticResourceAssert/Common.cpp +++ b/StaticResourceAssert/Common.cpp @@ -1,6 +1,8 @@ #include "include/Common.h" +#include + #ifdef _WIN32 #include "Windows.h" #endif @@ -59,6 +61,27 @@ std::size_t replace_all(std::string& inout, std::string_view what, std::string_v return count; } +void TrimStartWhitespace(std::string& inout) { + if(inout.empty()) { + return; + } + auto beginIter = inout.begin(); + while(inout.end() != beginIter && std::isspace(*beginIter)) { + beginIter = inout.erase(beginIter); + } +} + +void TrimEndWhitespace(std::string& inout) { + if(inout.empty()) { + return; + } + auto endIter = inout.end()-1; + while(inout.end() != endIter && std::isspace(*endIter)) { + inout.pop_back(); + endIter--; + } +} + bool HasArg( const char* argStr, int argc, char** argv ) { for( int c = 0; c < argc; c++ ) diff --git a/StaticResourceAssert/Main.cpp b/StaticResourceAssert/Main.cpp index 600215f..ab9f471 100644 --- a/StaticResourceAssert/Main.cpp +++ b/StaticResourceAssert/Main.cpp @@ -40,6 +40,16 @@ int main( int argc, char** argv ) std::string directoryStr = GetArgData( "-d", argc, argv ); replace_all( directoryStr, "\\", "/" ); + replace_all( directoryStr, "\\", "" ); + replace_all( directoryStr, "<", "" ); + replace_all( directoryStr, ">", "" ); + replace_all( directoryStr, "\"", "" ); + replace_all( directoryStr, "|", "" ); + replace_all( directoryStr, "?", "" ); + replace_all( directoryStr, "*", "" ); + + TrimStartWhitespace(directoryStr); + TrimEndWhitespace(directoryStr); std::string outputHeaderStr = "static_resource_assert_api.h"; if( HasArg( "-o", argc, argv ) ) diff --git a/StaticResourceAssert/include/Common.h b/StaticResourceAssert/include/Common.h index d4f20dc..163b5c3 100644 --- a/StaticResourceAssert/include/Common.h +++ b/StaticResourceAssert/include/Common.h @@ -20,6 +20,9 @@ void __pstream(const std::ostream &t, bool bNewline = true ); std::size_t replace_all(std::string& inout, std::string_view what, std::string_view with); +void TrimStartWhitespace(std::string& inout); + +void TrimEndWhitespace(std::string& inout); // Program arguments