/*
-** LCLint - annotation-assisted static program checker
-** Copyright (C) 1994-2000 University of Virginia,
+** Splint - annotation-assisted static program checker
+** Copyright (C) 1994-2003 University of Virginia,
** Massachusetts Institute of Technology
**
** This program is free software; you can redistribute it and/or modify it
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
-** For more information: http://lclint.cs.virginia.edu
+** For information on splint: info@splint.org
+** To report a bug: splint-bug@splint.org
+** For more information: http://www.splint.org
*/
/*
** lclscan.c
** yet implemented in this version).
*/
-# include "lclintMacros.nf"
-# include "llbasic.h"
+# include "splintMacros.nf"
+# include "basic.h"
/*@-redecl@*/ /* from llgrammar.y */
extern bool g_inTypeDef;
# include "lclscanline.h"
# include "lcltokentable.h"
-static tsource *scanFile; /* file to scan */
+static inputStream scanFile; /* file to scan */
static o_ltoken TokenList[MAXLINE]; /* available tokens */
static bool restore = FALSE; /* wasn't static! */
static YYSTYPE restoretok;
static unsigned int lineNumber; /* current line number */
ltokenCode yllex (void)
- /*@globals killed restoretok@*/
+ /*@globals killed restoretok@*/ /* only if restore is TRUE */
{
lsymbol tokenSym;
}
else
{
+ /*@-onlyunqglobaltrans@*/
yllval.ltok = ltoken_copy (LCLScanNextToken ());
+ /*@=onlyunqglobaltrans@*/
}
tokenSym = ltoken_getText (yllval.ltok);
}
}
+ /*@-onlyunqglobaltrans@*/ /* restoretok not released on non-restore path */
+ /*@-globstate@*/
return (ltoken_getCode (yllval.ltok));
+ /*@=onlyunqglobaltrans@*/
+ /*@=globstate@*/
}
/* useful for scanning LCL init files and LSL init files ? */
{
lastToken = 0;
lineNumber++;
- line = tsource_nextLine (scanFile);
+ line = inputStream_nextLine (scanFile);
if (line != (char *) 0)
{
else
{
lastToken = 0;
- line = tsource_nextLine (scanFile);
+ line = inputStream_nextLine (scanFile);
if (line != (char *) 0)
{
LCLScanLine (line);
}
}
-tsource *LCLScanSource (void)
+inputStream LCLScanSource (void)
{
return scanFile;
}
}
void
-LCLScanReset (tsource * s)
+LCLScanReset (inputStream s)
{
scanFile = s;
lastToken = 0;