/*
** Splint - annotation-assisted static program checker
-** Copyright (C) 1994-2002 University of Virginia,
+** Copyright (C) 1994-2003 University of Virginia,
** Massachusetts Institute of Technology
**
** This program is free software; you can redistribute it and/or modify it
what you give them. Help stamp out software-hoarding! */
# include "splintMacros.nf"
-# include "llbasic.h"
+# include "basic.h"
# include "cpplib.h"
# include "cpphash.h"
# include "cpperror.h"
/*@-compdef@*/ /* g_cppState is not yet innitialized */
} /*@=compdef@*/
+void cppReader_destroyMod ()
+ /*@globals killed g_cppState@*/
+{
+ cppCleanup (&g_cppState);
+}
+
void cppReader_initialize ()
{
cpplib_initializeReader (&g_cppState);
llexit (LLFAILURE);
}
- ofile = fileTable_openFile (context_fileTable (), outfile, "w");
+ ofile = fileTable_createFile (context_fileTable (), outfile);
if (ofile == NULL)
{
if (!opts->no_output)
{
+ DPRINTF (("Writing: %s", cstring_copyLength (g_cppState.token_buffer, cpplib_getWritten (&g_cppState))));
+
(void) fwrite (g_cppState.token_buffer, (size_t) 1,
cpplib_getWritten (&g_cppState), ofile);
}
** Add the -I- code. This code provided by Robin Watts <Robin.Watts@wss.co.uk>
*/
+ DPRINTF (("Adding include: %s", dir));
+
if (cstring_equalLit (dir, "-I-"))
{
struct cppOptions *opts = CPPOPTIONS (&g_cppState);
}
else
{
- /* -I option (Add directory to include path) */
struct file_name_list *dirtmp = (struct file_name_list *) dmalloc (sizeof (*dirtmp));
DPRINTF (("Add include: %s", dir));
-
+
dirtmp->next = 0; /* New one goes on the end */
dirtmp->control_macro = 0;
dirtmp->c_system_include_path = FALSE;