Constify getenv(), setenv() and hash code functions

This is needed to get rid of build warnings like

main.c:311: warning: passing argument 2 of 'setenv' discards qualifiers from pointer target type

which result from commit 09c2e90 "unify version_string".

Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Andreas Biemann <andreas.devel@googlemail.com>
This commit is contained in:
Wolfgang Denk 2011-07-29 14:42:18 +02:00
parent 7ca9296e1b
commit 84b5e8022e
5 changed files with 17 additions and 16 deletions

View File

@ -367,13 +367,14 @@ int _do_env_set (int flag, int argc, char * const argv[])
return 0;
}
int setenv(char *varname, char *varvalue)
int setenv(const char *varname, const char *varvalue)
{
char * const argv[4] = { "setenv", varname, varvalue, NULL };
const char * const argv[4] = { "setenv", varname, varvalue, NULL };
if ((varvalue == NULL) || (varvalue[0] == '\0'))
return _do_env_set(0, 2, argv);
return _do_env_set(0, 2, (char * const *)argv);
else
return _do_env_set(0, 3, argv);
return _do_env_set(0, 3, (char * const *)argv);
}
int do_env_set(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
@ -482,7 +483,7 @@ int do_env_edit(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
* return address of storage for that variable,
* or NULL if not found
*/
char *getenv(char *name)
char *getenv(const char *name)
{
if (gd->flags & GD_FLG_ENV_READY) { /* after import into hashtable */
ENTRY e, *ep;
@ -507,7 +508,7 @@ char *getenv(char *name)
/*
* Look up variable from environment for restricted C runtime env.
*/
int getenv_f(char *name, char *buf, unsigned len)
int getenv_f(const char *name, char *buf, unsigned len)
{
int i, nxt;

View File

@ -262,13 +262,13 @@ void doc_probe(unsigned long physadr);
int env_init (void);
void env_relocate (void);
int envmatch (uchar *, int);
char *getenv (char *);
int getenv_f (char *name, char *buf, unsigned len);
char *getenv (const char *);
int getenv_f (const char *name, char *buf, unsigned len);
int saveenv (void);
#ifdef CONFIG_PPC /* ARM version to be fixed! */
int inline setenv (char *, char *);
int inline setenv (const char *, const char *);
#else
int setenv (char *, char *);
int setenv (const char *, const char *);
#endif /* CONFIG_PPC */
#ifdef CONFIG_ARM
# include <asm/mach-types.h>

View File

@ -21,8 +21,8 @@ unsigned long get_timer(unsigned long);
int vprintf(const char *, va_list);
unsigned long simple_strtoul(const char *cp,char **endp,unsigned int base);
int strict_strtoul(const char *cp, unsigned int base, unsigned long *res);
char *getenv (char *name);
int setenv (char *varname, char *varvalue);
char *getenv (const char *name);
int setenv (const char *varname, const char *varvalue);
long simple_strtol(const char *cp,char **endp,unsigned int base);
int strcmp(const char * cs,const char * ct);
int ustrtoul(const char *cp, char **endp, unsigned int base);

View File

@ -39,7 +39,7 @@ typedef enum {
} ACTION;
typedef struct entry {
char *key;
const char *key;
char *data;
} ENTRY;

View File

@ -155,7 +155,7 @@ void hdestroy_r(struct hsearch_data *htab)
if (htab->table[i].used > 0) {
ENTRY *ep = &htab->table[i].entry;
free(ep->key);
free((void *)ep->key);
free(ep->data);
}
}
@ -416,7 +416,7 @@ int hdelete_r(const char *key, struct hsearch_data *htab)
/* free used ENTRY */
debug("hdelete: DELETING key \"%s\"\n", key);
free(ep->key);
free((void *)ep->key);
free(ep->data);
htab->table[idx].used = -1;
@ -564,7 +564,7 @@ ssize_t hexport_r(struct hsearch_data *htab, const char sep,
* export sorted list of result data
*/
for (i = 0, p = res; i < n; ++i) {
char *s;
const char *s;
s = list[i]->key;
while (*s)