commit - 2ca05f73fc0c998168daa8967835a1c08fbbad05
commit + 86e7d7b44cdbcae02b5e082c6e8777e4baaee28a
blob - 0b5437fa1cdd76e9928e66eddfca372c998ef11f
blob + 7a8f5b61a0078503c9596e80a871d8d34c97dae4
--- defaults.c
+++ defaults.c
return 0;
}
+
+int
+config_setvari(const char *var, int val)
+{
+ return 0;
+}
+
+int
+config_setvars(const char *var, char *val)
+{
+ return 0;
+}
blob - dbcecbb213fe3d69bc0a31bccf54df25871e020f
blob + e4ffbe003932bced6230759deadea7ce6a293965
--- parse.y
+++ parse.y
static void yyerror(const char *, ...);
static int yylex(void);
static void setprfx(int, const char *);
+static void setvari(char *, int);
+static void setvars(char *, char *);
%}
| unbind
;
-set : TSET TSTRING '=' TSTRING { printf("set %s = \"%s\"\n", $2, $4); }
- | TSET TSTRING '=' TNUMBER { printf("set %s = %d\n", $2, $4); }
+set : TSET TSTRING '=' TSTRING { setvars($2, $4); }
+ | TSET TSTRING '=' TNUMBER { setvari($2, $4); }
;
style : TSTYLE TSTRING { current_style = $2; } styleopt
if (!config_setprfx(current_style, cont, name))
yyerror("invalid style %s", name);
+}
+
+static void
+setvari(char *var, int val)
+{
+ if (!config_setvari(var, val))
+ yyerror("invalid variable or value: %s = %d",
+ var, val);
+
+ free(var);
}
+static void
+setvars(char *var, char *val)
+{
+ if (!config_setvars(var, val))
+ yyerror("invalid variable or value: %s = \"%s\"",
+ var, val);
+
+ free(var);
+}
+
void
parseconfig(const char *filename, int fonf)
{
blob - 78f360bb6264efefa0d40f0a66ee9ef7005c74d7
blob + 04a61dd49ea9af975cc134b144de452d33e2f64d
--- telescope.h
+++ telescope.h
/* defaults.c */
int config_setprfx(const char *, int, const char *);
+int config_setvari(const char *, int);
+int config_setvars(const char *, char *);
/* fs.c */
int fs_init(void);