summaryrefslogtreecommitdiffstats
path: root/bin/sh/var.c
diff options
context:
space:
mode:
authorjilles <jilles@FreeBSD.org>2009-12-24 18:41:14 +0000
committerjilles <jilles@FreeBSD.org>2009-12-24 18:41:14 +0000
commit8e458de8523a07bb3be5f06ed227236cb12be7f4 (patch)
tree3810323287749c3a09fadeeed64429a5bf2fbb4d /bin/sh/var.c
parentff49e8168bd001a89cc6ca577b7b33399eb2c409 (diff)
downloadFreeBSD-src-8e458de8523a07bb3be5f06ed227236cb12be7f4.zip
FreeBSD-src-8e458de8523a07bb3be5f06ed227236cb12be7f4.tar.gz
sh: Constify various strings.
Most of this is adding const keywords, but setvar() in var.c had to be changed somewhat more.
Diffstat (limited to 'bin/sh/var.c')
-rw-r--r--bin/sh/var.c39
1 files changed, 19 insertions, 20 deletions
diff --git a/bin/sh/var.c b/bin/sh/var.c
index 8fa3b5c..900a483 100644
--- a/bin/sh/var.c
+++ b/bin/sh/var.c
@@ -122,9 +122,9 @@ STATIC const struct varinit varinit[] = {
STATIC struct var *vartab[VTABSIZE];
-STATIC struct var **hashvar(char *);
-STATIC int varequal(char *, char *);
-STATIC int localevar(char *);
+STATIC struct var **hashvar(const char *);
+STATIC int varequal(const char *, const char *);
+STATIC int localevar(const char *);
/*
* Initialize the variable symbol tables and import the environment.
@@ -190,7 +190,7 @@ initvar(void)
*/
int
-setvarsafe(char *name, char *val, int flags)
+setvarsafe(const char *name, const char *val, int flags)
{
struct jmploc jmploc;
struct jmploc *const savehandler = handler;
@@ -215,9 +215,9 @@ setvarsafe(char *name, char *val, int flags)
*/
void
-setvar(char *name, char *val, int flags)
+setvar(const char *name, const char *val, int flags)
{
- char *p, *q;
+ const char *p;
int len;
int namelen;
char *nameeq;
@@ -245,19 +245,18 @@ setvar(char *name, char *val, int flags)
} else {
len += strlen(val);
}
- p = nameeq = ckmalloc(len);
- q = name;
- while (--namelen >= 0)
- *p++ = *q++;
- *p++ = '=';
- *p = '\0';
+ nameeq = ckmalloc(len);
+ memcpy(nameeq, name, namelen);
+ nameeq[namelen] = '=';
if (val)
- scopy(val, p);
+ scopy(val, nameeq + namelen + 1);
+ else
+ nameeq[namelen + 1] = '\0';
setvareq(nameeq, flags);
}
STATIC int
-localevar(char *s)
+localevar(const char *s)
{
static char *lnames[7] = {
"ALL", "COLLATE", "CTYPE", "MONETARY",
@@ -283,7 +282,7 @@ localevar(char *s)
* pointer into environ where the string should not be manipulated.
*/
static void
-change_env(char *s, int set)
+change_env(const char *s, int set)
{
char *eqp;
char *ss;
@@ -389,7 +388,7 @@ listsetvar(struct strlist *list)
*/
char *
-lookupvar(char *name)
+lookupvar(const char *name)
{
struct var *v;
@@ -412,7 +411,7 @@ lookupvar(char *name)
*/
char *
-bltinlookup(char *name, int doall)
+bltinlookup(const char *name, int doall)
{
struct strlist *sp;
struct var *v;
@@ -796,7 +795,7 @@ unsetcmd(int argc __unused, char **argv __unused)
*/
int
-unsetvar(char *s)
+unsetvar(const char *s)
{
struct var **vpp;
struct var *vp;
@@ -836,7 +835,7 @@ unsetvar(char *s)
*/
STATIC struct var **
-hashvar(char *p)
+hashvar(const char *p)
{
unsigned int hashval;
@@ -855,7 +854,7 @@ hashvar(char *p)
*/
STATIC int
-varequal(char *p, char *q)
+varequal(const char *p, const char *q)
{
while (*p == *q++) {
if (*p++ == '=')
OpenPOWER on IntegriCloud