Reform string library.
[pspp-builds.git] / src / language / lexer / q2c.c
index 73788706748d3dbd91baf563578d4f62409e3b3c..2919bd5b24d6abd172dca0f6888ba75ece084e40 100644 (file)
@@ -18,6 +18,7 @@
    02110-1301, USA. */
 
 #include <config.h>
+
 #include <assert.h>
 #include <ctype.h>
 #include <stdio.h>
 #include <stdarg.h>
 #include <time.h>
 #include <errno.h>
-#if HAVE_UNISTD_H
 #include <unistd.h>
-#endif
-#include "str.h"
-
-
-/* Brokenness. */
-#ifndef EXIT_SUCCESS
-#define EXIT_SUCCESS 0
-#endif
+#include <libpspp/compiler.h>
+#include <libpspp/str.h>
+#include "exit.h"
 
-#ifndef EXIT_FAILURE
-#define EXIT_FAILURE 1
-#endif
-
-/* 
-#if !HAVE_STRERROR
-#include "misc/strerror.c"
-#endif
-*/
      
-#include "debug-print.h"
-
 /* Max length of an input line. */
 #define MAX_LINE_LEN 1024
 
@@ -341,7 +325,7 @@ find_symbol (int x)
   return iter;
 }
 
-#if DEBUGGING 
+#if DUMP_TOKENS 
 /* Writes a printable representation of the current token to
    stdout. */
 static void
@@ -359,7 +343,7 @@ dump_token (void)
       printf ("PUNCT\t%c\n", token);
     }
 }
-#endif /* DEBUGGING */
+#endif /* DUMP_TOKENS */
 
 /* Reads a token from the input file. */
 static int
@@ -409,7 +393,7 @@ lex_get (void)
   else
     token = *cp++;
   
-#if DEBUGGING
+#if DUMP_TOKENS
   dump_token ();
 #endif
   
@@ -1640,7 +1624,7 @@ dump_subcommand (const subcommand *sbc)
          outdent ();
        }
       dump (0, "free(p->s_%s);", st_lower(sbc->name) );
-      dump (0, "p->s_%s = xstrdup (ds_c_str (&tokstr));",
+      dump (0, "p->s_%s = ds_xstrdup (&tokstr);",
            st_lower (sbc->name));
       dump (0, "lex_get ();");
       if (sbc->restriction)
@@ -1941,7 +1925,7 @@ dump_free (int persistent)
          switch (sbc->type) 
            {
             case SBC_VARLIST:
-             dump (0, "free (p->v_variables);");
+             dump (0, "free (p->v_%s);", st_lower (sbc->name));
               break;
            case SBC_STRING:
              dump (0, "free (p->s_%s);", st_lower (sbc->name));
@@ -2043,13 +2027,13 @@ main (int argc, char *argv[])
          indent = 0;
 
          dump (0, "#include <stdlib.h>");
-         dump (0, "#include \"alloc.h\"");
-         dump (0, "#include \"message.h\"");
-         dump (0, "#include \"lexer.h\"");
-          dump (0, "#include \"settings.h\"");
-         dump (0, "#include \"str.h\"");
-          dump (0, "#include \"subcommand-list.h\"");
-         dump (0, "#include \"variable.h\"");
+         dump (0, "#include <libpspp/alloc.h>");
+         dump (0, "#include <libpspp/message.h>");
+         dump (0, "#include <language/lexer/lexer.h>");
+          dump (0, "#include <data/settings.h>");
+         dump (0, "#include <libpspp/str.h>");
+          dump (0, "#include <language/lexer/subcommand-list.h>");
+         dump (0, "#include <data/variable.h>");
          dump (0, nullstr);
 
           dump (0, "#include \"gettext.h\"");