]> err.no Git - varnish/commitdiff
Reverse constification of Argv functions. After cascading through all
authorphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Tue, 4 Apr 2006 07:46:30 +0000 (07:46 +0000)
committerphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Tue, 4 Apr 2006 07:46:30 +0000 (07:46 +0000)
the CLI functions we hit the fact that the evbuffer functions in libevent
are not properly constified.

It's better to deconst the error messages and just "let it be known" that
argv[0] is const (or NULL).

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@110 d4fa192b-c00b-0410-8231-f00ffab90ce4

varnish-cache/include/cli_priv.h
varnish-cache/include/libvarnish.h
varnish-cache/lib/libvarnish/argv.c
varnish-cache/lib/libvarnish/cli.c

index 24bb76d544bb98c1fc4b8e46064c88a34afe2c2d..841b3d4f3a9e718c87af3a0f4d58247dca0bdfb3 100644 (file)
@@ -11,7 +11,7 @@
 
 struct cli;    /* NB: struct cli is opaque at this level.  */
 
-typedef void cli_func_t(struct cli*, const char **av, void *priv);
+typedef void cli_func_t(struct cli*, char **av, void *priv);
 
 struct cli_proto {
        /* These must match the CLI_* macros in cli.h */
index 8c332a2b5396b577eee33b59efab6c5fe166e45e..963d4350755dcca503ff9cc07b209537ca291e97 100644 (file)
@@ -3,8 +3,8 @@
  */
 
 /* from libvarnish/argv.c */
-void FreeArgv(const char **argv);
-const char **ParseArgv(const char *s, int comment);
+void FreeArgv(char **argv);
+char **ParseArgv(const char *s, int comment);
 
 
 /* Assert zero return value */
index 50e31c681f42ec8d9ce3f722c7843b017145112e..8448a8d9b7c52176f8954472cc0d906b42f371bc 100644 (file)
@@ -96,10 +96,10 @@ BackSlashDecode(const char *s, const char *e)
        return (p);
 }
 
-const char **
+char **
 ParseArgv(const char *s, int comment)
 {
-       const char **argv;
+       char **argv;
        const char *p;
        int nargv, largv;
        int i, quote;
@@ -131,7 +131,7 @@ ParseArgv(const char *s, int comment)
                        if (*s == '\\') {
                                i = BackSlash(s, NULL);
                                if (i == 0) {
-                                       argv[0] = "Illegal backslash sequence";
+                                       argv[0] = (void*)(uintptr_t)"Illegal backslash sequence";
                                        return (argv);
                                }
                                s += i;
@@ -146,7 +146,7 @@ ParseArgv(const char *s, int comment)
                        if (*s == '"')
                                break;
                        if (*s == '\0') {
-                               argv[0] = "Missing '\"'";
+                               argv[0] = (void*)(uintptr_t)"Missing '\"'";
                                return (argv);
                        }
                        s++;
@@ -164,12 +164,12 @@ ParseArgv(const char *s, int comment)
 }
 
 void
-FreeArgv(const char **argv)
+FreeArgv(char **argv)
 {
        int i;
        
        for (i = 1; argv[i] != NULL; i++)
-               free((void *)(uintptr_t)argv[i]);
+               free(argv[i]);
        free(argv);
 }
 
index 4e75acf02f87145ec9c58b19c91ccffc920598da..1e6653031f042444bd10952569a7a6aee04f8c79 100644 (file)
@@ -19,7 +19,7 @@
  */
 
 void
-cli_func_help(struct cli *cli, const char **av, void *priv)
+cli_func_help(struct cli *cli, char **av, void *priv)
 {
        struct cli_proto *cp;
 
@@ -41,7 +41,7 @@ cli_func_help(struct cli *cli, const char **av, void *priv)
 void
 cli_dispatch(struct cli *cli, struct cli_proto *clp, const char *line)
 {
-       const char **av;
+       char **av;
        unsigned u;
        struct cli_proto *cp;