]> andersk Git - splint.git/blobdiff - src/cttable.i
Fixed all /*@i...@*/ tags (except 1).
[splint.git] / src / cttable.i
index 0cbe38a208bf893204179f9f0281e6555438d18e..7613cb633570d79ff5f282db3471fb294f86f48d 100644 (file)
@@ -1,20 +1,25 @@
 /* ;-*-C-*-; 
-** Copyright (c) Massachusetts Institute of Technology 1994-1998.
-**          All Rights Reserved.
-**          Unpublished rights reserved under the copyright laws of
-**          the United States.
+** Splint - annotation-assisted static program checker
+** Copyright (C) 1994-2003 University of Virginia,
+**         Massachusetts Institute of Technology
 **
-** THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
-** OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
+** This program is free software; you can redistribute it and/or modify it
+** under the terms of the GNU General Public License as published by the
+** Free Software Foundation; either version 2 of the License, or (at your
+** option) any later version.
+** 
+** This program is distributed in the hope that it will be useful, but
+** WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+** General Public License for more details.
+** 
+** The GNU General Public License is available from http://www.gnu.org/ or
+** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+** MA 02111-1307, USA.
 **
-** This code is distributed freely and may be used freely under the 
-** following conditions:
-**
-**     1. This notice may not be removed or altered.
-**
-**     2. Works derived from this code are not distributed for
-**        commercial gain without explicit permission from MIT 
-**        (for permission contact lclint-request@sds.lcs.mit.edu).
+** For information on splint: info@splint.org
+** To report a bug: splint-bug@splint.org
+** For more information: http://www.splint.org
 */
 /*
 ** cttable.i
@@ -48,7 +53,7 @@ static void cttable_reset (void)
 
       for (i = 0; i < cttab.size; i++)
        {
-         ctentry_free (cttab.entries[i]);
+         /*drl bee: si*/   ctentry_free (cttab.entries[i]);
        }
       
       /*@-compdestroy@*/ 
@@ -151,7 +156,7 @@ ctentry_dump (ctentry c)
 
 
 static /*@only@*/ ctentry
-ctentry_undump (/*@dependent@*/ char *s)
+ctentry_undump (/*@dependent@*/ char *s) /*@requires maxRead(s) >= 2 @*/
 {
   int base, ptr, array;
   ctkind kind;
@@ -249,7 +254,7 @@ cttable_unparse (void)
   /*@access ctbase@*/
   for (i = 0; i < cttab.size; i++)
     {
-      ctentry cte = cttab.entries[i];
+     /*drl bee: si*/    ctentry cte = cttab.entries[i];
       if (ctentry_isInteresting (cte))
        {
          if (ctbase_isUA (cte->ctbase))
@@ -275,25 +280,25 @@ cttable_print (void)
   /*@access ctbase@*/
   for (i = 0; i < cttab.size; i++)
     {
-      ctentry cte = cttab.entries[i];
+   /*drl bee: si*/     ctentry cte = cttab.entries[i];
 
       if (TRUE) /* ctentry_isInteresting (cte)) */
        {
          if (ctbase_isUA (cte->ctbase))
            {
-             fprintf (g_msgstream, "%3d: %s [%d]\n", i, 
+             fprintf (g_warningstream, "%3d: %s [%d]\n", i, 
                       cstring_toCharsSafe (ctentry_doUnparse (cttab.entries[i])),
                       cte->ctbase->contents.tid);
            }
          else
            {
-             fprintf (g_msgstream, "%3d: %s\n", i, 
+             fprintf (g_warningstream, "%3d: %s\n", i, 
                       cstring_toCharsSafe (ctentry_doUnparse (cttab.entries[i])));
            }
        }
       else
        {
-         /* fprintf (g_msgstream, "%3d: <no name>\n", i); */
+         /* fprintf (g_warningstream, "%3d: <no name>\n", i); */
        }
     }
   /*@noaccess ctbase@*/
@@ -314,22 +319,17 @@ cttable_dump (FILE *fout)
   
   if (context_getFlag (FLG_SHOWSCAN) && cttab.size > 5000)
     {
-      fprintf (g_msgstream, " >\n"); /* end dumping to */
-      fprintf (g_msgstream, "< Dumping type table (%d types) ", cttab.size);
+      displayScanClose ();
+      displayScanOpen (message ("Dumping type table (%d types)", cttab.size));
       showdotstride = cttab.size / 5;
       showdots = TRUE;
     }
 
-  /*
-  DPRINTF (("Dumping cttable: "));
-  cttable_print ();
-  */
-
   for (i = 0; i < cttab.size; i++)
     {
       cstring s;
 
-      s = ctentry_dump (cttab.entries[i]);
+   /*drl bee: si*/     s = ctentry_dump (cttab.entries[i]);
       DPRINTF (("[%d] = %s", i, ctentry_unparse (cttab.entries[i])));
       llassert (cstring_length (s) < MAX_DUMP_LINE_LENGTH);
       fputline (fout, cstring_toCharsSafe (s));
@@ -337,15 +337,16 @@ cttable_dump (FILE *fout)
 
       if (showdots && (i != 0 && ((i - 1) % showdotstride == 0)))
        {
-         (void) fflush (g_msgstream);
-         fprintf (stderr, ".");
+         (void) fflush (g_warningstream);
+         displayScanContinue (cstring_makeLiteralTemp ("."));
          (void) fflush (stderr);
        }
     }
 
   if (showdots)
     {
-      fprintf (stderr, " >\n< Continuing dump ");
+      displayScanClose ();
+      displayScanOpen (cstring_makeLiteral ("Continuing dump "));
     }
   
 }
@@ -359,6 +360,7 @@ static void cttable_load (FILE *f)
   /*@modifies cttab, f @*/
 {
   char *s = mstring_create (MAX_DUMP_LINE_LENGTH);
+  char *os = s;
   ctentry cte;
 
   cttable_reset ();
@@ -382,7 +384,7 @@ static void cttable_load (FILE *f)
     {
       ctype ct;
 
-      cte = ctentry_undump (s);
+      /*drl bee: tcf*/      cte = ctentry_undump (s);
       ct = cttable_addFull (cte);
 
       DPRINTF (("Type: %d: %s", ct, ctype_unparse (ct)));
@@ -393,10 +395,10 @@ static void cttable_load (FILE *f)
          ctype_recordConj (ct);
        }
 
-      (void) reader_readLine (f, s, MAX_DUMP_LINE_LENGTH);
+      s = reader_readLine (f, s, MAX_DUMP_LINE_LENGTH);
     }
 
-  sfree (s);
+  sfree (os);
 
   /*
   DPRINTF (("Done loading cttable: "));
@@ -493,7 +495,7 @@ cttable_grow ()
 
   for (i = 0; i < cttab.size; i++)
     {
-      newentries[i] = cttab.entries[i];
+      /*drl bee: dm*/  /*drl bee: si*/  newentries[i] = cttab.entries[i];
     }
 
   /*@-compdestroy@*/
@@ -510,7 +512,7 @@ cttable_addDerived (ctkind ctk, /*@keep@*/ ctbase cnew, ctype base)
   if (cttab.nspace == 0)
     cttable_grow ();
   
-  cttab.entries[cttab.size] = 
+  /*drl bee: si*/  cttab.entries[cttab.size] = 
     ctentry_make (ctk, cnew, base, ctype_dne, ctype_dne, cstring_undefined);
 
   cttab.nspace--;
@@ -539,7 +541,7 @@ cttable_addComplex (/*@only@*/ ctbase cnew)
          
          ctb = ctype_getCtbase (i);
          
-         /*@i32 is this optimization really worthwhile??? */
+         /* is this optimization really worthwhile? */
 
          if (ctbase_isDefined (ctb) && ctbase_equivStrict (cnew, ctb))
            {
@@ -556,7 +558,7 @@ cttable_addComplex (/*@only@*/ ctbase cnew)
   if (cttab.nspace == 0)
     cttable_grow ();
   
-  cttab.entries[cttab.size] = ctentry_make (CTK_COMPLEX, cnew, ctype_undefined, 
+  /*drl bee: si*/  cttab.entries[cttab.size] = ctentry_make (CTK_COMPLEX, cnew, ctype_undefined, 
                                            ctype_dne, ctype_dne,
                                            cstring_undefined);
   cttab.nspace--;
@@ -573,7 +575,7 @@ cttable_addFull (ctentry cnew)
       cttable_grow ();
     }
 
-  cttab.entries[cttab.size] = cnew;
+  /*drl bee: si*/  cttab.entries[cttab.size] = cnew;
   cttab.nspace--;
 
   return (cttab.size++);
@@ -602,7 +604,7 @@ cttable_addFullSafe (/*@only@*/ ctentry cnew)
   if (cttab.nspace == 0)
     cttable_grow ();
 
-  cttab.entries[cttab.size] = cnew;
+  /*drl bee: si*/  cttab.entries[cttab.size] = cnew;
 
   cttab.nspace--;
   
This page took 0.042395 seconds and 4 git commands to generate.