commit - f3c7d9604106a82141e9ab7f14b388d3a8cea8eb
commit + 3198f30f89dee7172b30744be22404fbc1cfe8ac
blob - f6cb1fa1a330e902fc0b8ce9833f98412afb3226
blob + 760d2ffadc45202fef40f0f5fc8b2198b1f5c33f
--- parse.y
+++ parse.y
static void setvars(char *, char *);
static int colorname(const char *);
static void setcolor(const char *, const char *, const char *);
-static int attrname(char *);
+static int attrname(const char *);
static void setattr(char *, char *, char *);
static void add_proxy(char *, char *);
static void bindkey(const char *, const char *, const char *);
}
static int
-attrname(char *n)
+attrname(const char *n)
{
struct {
const char *name;
{ NULL, 0 },
};
int ret, found;
- char *ap;
+ char *ap, *dup, *orig;
+
+ if ((dup = strdup(n)) == NULL)
+ err(1, "strdup");
+ orig = dup;
+
ret = 0;
- while ((ap = strsep(&n, ",")) != NULL) {
+ while ((ap = strsep(&dup, ",")) != NULL) {
if (*ap == '\0')
continue;
ap, yylval.colno+1);
}
+ free(orig);
return ret;
}