diff options
-rw-r--r-- | icespider/fcgi/cgiRequestBase.cpp | 9 | ||||
-rw-r--r-- | icespider/fcgi/cgiRequestBase.h | 6 |
2 files changed, 7 insertions, 8 deletions
diff --git a/icespider/fcgi/cgiRequestBase.cpp b/icespider/fcgi/cgiRequestBase.cpp index 0159fcd..1daab68 100644 --- a/icespider/fcgi/cgiRequestBase.cpp +++ b/icespider/fcgi/cgiRequestBase.cpp @@ -26,20 +26,19 @@ namespace IceSpider { CGI_CONST(HTTP_COOKIE); CGI_CONST(REQUEST_METHOD); - CgiRequestBase::CgiRequestBase(Core * c, char ** env) : + CgiRequestBase::CgiRequestBase(Core * c, const char * const * const env) : IHttpRequest(c) { - for(char * const * e = env; *e; ++e) { + for(const char * const * e = env; *e; ++e) { addenv(*e); } } void - CgiRequestBase::addenv(char * e) + CgiRequestBase::addenv(const char * const e) { if (auto eq = strchr(e, '=')) { - *eq++ = '\0'; - envmap.insert({ e, Env(eq, strchr(eq, '\0')) }); + envmap.insert({ std::string_view(e, eq - e), Env(eq + 1, strchr(eq, '\0')) }); } } diff --git a/icespider/fcgi/cgiRequestBase.h b/icespider/fcgi/cgiRequestBase.h index 4cc6a81..88bdc52 100644 --- a/icespider/fcgi/cgiRequestBase.h +++ b/icespider/fcgi/cgiRequestBase.h @@ -10,12 +10,12 @@ namespace IceSpider { class CgiRequestBase : public IHttpRequest { protected: - CgiRequestBase(Core * c, char ** env); - void addenv(char *); + CgiRequestBase(Core * c, const char * const * const env); + void addenv(const char * const); void initialize(); public: - typedef std::tuple<char *, char *> Env; + typedef std::tuple<const char * const, const char * const> Env; typedef std::map<std::string_view, Env> VarMap; const PathElements & getRequestPath() const override; |