Makefile.am: Also distribute the `README' file.
[runlisp] / lib.c
diff --git a/lib.c b/lib.c
index 4f93285..251d932 100644 (file)
--- a/lib.c
+++ b/lib.c
@@ -267,7 +267,7 @@ void argv_ensure(struct argv *av, size_t n)
   if (need <= av->sz) return;
   newsz = av->sz ? 2*av->sz : 8;
   while (newsz < need) newsz *= 2;
-  av->v = xrealloc(av->v - av->o, newsz*sizeof(char *)) + av->o;
+  av->v = xrealloc(av->v - av->o, newsz*sizeof(char *)); av->v += av->o;
   av->sz = newsz;
 }
 
@@ -932,7 +932,7 @@ static void set_config_section_parents(struct config *conf,
      * to have, so we can allocate the `parents' vector and fill it in.
      */
     sect->nparents = av.n/2;
-    sect->parents = xmalloc(sect->nparents*sizeof(sect->parents));
+    sect->parents = xmalloc(sect->nparents*sizeof(*sect->parents));
     for (i = 0; i < av.n; i += 2) {
       n = av.v[i + 1] - av.v[i];
       parent = config_find_section_n(conf, 0, av.v[i], n);
@@ -1089,7 +1089,7 @@ struct config_var *config_set_var_n(struct config *conf,
   struct config_var *var =
     config_find_var_n(conf, sect, CF_CREAT, name, namelen);
 
-  if (var->f&~f&CF_OVERRIDE) return;
+  if (var->f&~f&CF_OVERRIDE) return (var);
   free(var->val); var->val = xstrndup(value, valuelen); var->n = valuelen;
   var->f = f;
   return (var);