summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2018-03-03 14:42:16 +0000
committerDan Goodliffe <dan@randomdan.homeip.net>2018-03-03 16:06:38 +0000
commit87f098647448fd69172a33084d7a72107fdc70a1 (patch)
treed247639f9fc96a88d082b5cd5b350b1c23d10723
parentReplace string/char* quirks with string_view (diff)
downloadicespider-87f098647448fd69172a33084d7a72107fdc70a1.tar.bz2
icespider-87f098647448fd69172a33084d7a72107fdc70a1.tar.xz
icespider-87f098647448fd69172a33084d7a72107fdc70a1.zip
Env import can be const now
-rw-r--r--icespider/fcgi/cgiRequestBase.cpp9
-rw-r--r--icespider/fcgi/cgiRequestBase.h6
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;