neocgit

a more 'modern' version of cgit
Log | Files | Refs | Submodules | README | LICENSE | git clone https://git.ne02ptzero.me/git/neocgit

commit 3a8432437934a0a95f2618b534b1f5b3494d6b18
parent 996f86e664ab6d00a9304a42374e9c691b78ca6b
Author: Lukas Fleischer <cgit@cryptocrack.de>
Date:   Mon,  1 Apr 2013 17:11:14 +0200

Maŕk cgit_environment members const

These reflect the values of environment variables and should never be
changed. Add another xstrdup() when we assign environment variables to
strings that are potentially non-constant.

Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>

Diffstat:
Mcgit.c | 4++--
Mcgit.h | 20++++++++++----------
2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/cgit.c b/cgit.c @@ -401,9 +401,9 @@ static void prepare_context(struct cgit_context *ctx) ctx->page.etag = NULL; memset(&ctx->cfg.mimetypes, 0, sizeof(struct string_list)); if (ctx->env.script_name) - ctx->cfg.script_name = ctx->env.script_name; + ctx->cfg.script_name = xstrdup(ctx->env.script_name); if (ctx->env.query_string) - ctx->qry.raw = ctx->env.query_string; + ctx->qry.raw = xstrdup(ctx->env.query_string); if (!ctx->env.cgit_config) ctx->env.cgit_config = CGIT_CONFIG; } diff --git a/cgit.h b/cgit.h @@ -255,16 +255,16 @@ struct cgit_page { }; struct cgit_environment { - char *cgit_config; - char *http_host; - char *https; - char *no_http; - char *path_info; - char *query_string; - char *request_method; - char *script_name; - char *server_name; - char *server_port; + const char *cgit_config; + const char *http_host; + const char *https; + const char *no_http; + const char *path_info; + const char *query_string; + const char *request_method; + const char *script_name; + const char *server_name; + const char *server_port; }; struct cgit_context {