Fixed dependent/independent variable separation
[pspp] / src / q2c.c
index a62e62d40942d9bc506e4763b41cfaca4bebf2a2..3bba239035f7120ed1ac264ce42f3f156c1db809 100644 (file)
--- a/src/q2c.c
+++ b/src/q2c.c
@@ -284,7 +284,7 @@ add_symbol (const char *name, int unique, int value)
   symbol *iter, *sym;
   int x;
 
-  sym = xmalloc (sizeof (symbol));
+  sym = xmalloc (sizeof *sym);
   sym->name = xstrdup (name);
   sym->unique = unique;
   sym->value = value;
@@ -724,7 +724,7 @@ parse_specifier (specifier *spec, subcommand *sbc)
     
     for (;;)
       {
-       *s = xmalloc (sizeof (setting));
+       *s = xmalloc (sizeof **s);
        parse_setting (*s, spec);
        if (token == ',' || token == ';' || token == '.')
          break;
@@ -749,7 +749,7 @@ parse_specifiers (subcommand *sbc)
   
   for (;;)
     {
-      *spec = xmalloc (sizeof (specifier));
+      *spec = xmalloc (sizeof **spec);
       parse_specifier (*spec, sbc);
       if (token == ';' || token == '.')
        break;
@@ -893,7 +893,7 @@ parse_subcommands (void)
   
   for (;;)
     {
-      *sbc = xmalloc (sizeof (subcommand));
+      *sbc = xmalloc (sizeof **sbc);
       (*sbc)->next = NULL;
 
       parse_subcommand (*sbc);
@@ -1143,7 +1143,7 @@ dump_declarations (void)
            break;
 
          case SBC_VARLIST:
-           dump (0, "int %sn_%s;", st_lower (sbc->prefix),
+           dump (0, "size_t %sn_%s;", st_lower (sbc->prefix),
                  st_lower (sbc->name));
            dump (0, "struct variable **%sv_%s;", st_lower (sbc->prefix),
                  st_lower (sbc->name));
@@ -2206,7 +2206,10 @@ main (int argc, char *argv[])
          dump (0, "#include \"str.h\"");
           dump (0, "#include \"subclist.h\"");
          dump (0, "#include \"var.h\"");
+         dump (0, nullstr);
 
+          dump (0, "#include \"gettext.h\"");
+          dump (0, "#define _(msgid) gettext (msgid)");
          dump (0, nullstr);
        }
       else if (!strcmp (directive, "declarations"))
@@ -2248,7 +2251,7 @@ aux_parse (void)
 
   for (;;)
     {
-       sbc = xmalloc(sizeof(aux_subcommand));
+       sbc = xmalloc (sizeof *sbc);
        sbc->next = prevsbc;
         sbc->name = xstrdup (tokstr);
        lex_get();