ANSI C prototypes, no-brainer splint annotations.
authorjbj <devnull@localhost>
Thu, 27 May 2004 19:00:51 +0000 (19:00 +0000)
committerjbj <devnull@localhost>
Thu, 27 May 2004 19:00:51 +0000 (19:00 +0000)
CVS patchset: 7255
CVS date: 2004/05/27 19:00:51

rpmio/sexp/.splintrc [new file with mode: 0644]
rpmio/sexp/sexp-basic.c
rpmio/sexp/sexp-input.c
rpmio/sexp/sexp-main.c
rpmio/sexp/sexp-output.c
rpmio/sexp/sexp.h

diff --git a/rpmio/sexp/.splintrc b/rpmio/sexp/.splintrc
new file mode 100644 (file)
index 0000000..cade55d
--- /dev/null
@@ -0,0 +1,80 @@
+-I. -DHAVE_CONFIG_H -D_GNU_SOURCE
+
+#+partial
++forcehints
+
+-warnposix
+
++unixlib
+
+-unrecogcomments       # XXX ignore doxygen markings
+
++strict                        # lclint level
+
+# --- in progress
+-branchstate
+-bufferoverflowhigh
+-compdef
+-dependenttrans
+-evalorder
+-exitarg
+-exportheadervar
+-exportlocal
+-fcnuse
+-formatconst
+-globs
+-globstate
+-ifempty
+-infloopsuncon
+-internalglobs
+-mods
+-noeffect
+-noeffectuncon
+-nullpass
+-nullret
+-nullstate
+-paramuse
+-readonlytrans
+-retalias
+-retvalint
+-shiftimplementation
+-shiftnegative
+-sizeoftype
+-temptrans
+-unqualifiedtrans
+-usereleased
+
+# --- +partial artifacts
+
+# --- not-yet at strict level
+-bitwisesigned         #
+-elseifcomplete                #
+-exportconst           #
+-exportfcn             #
+-exporttype            #
+-exportvar             #
+-fielduse              #
+-forblock              # tedious
+-ifblock               # tedious
+-namechecks            # tedious ANSI compliance checks
+-ptrarith              #
+
+-compdestroy           #
+-mustdefine            #
+-sys-dir-errors
+
+-strictops             #
+-whileblock            # tedious
+
+# --- not-yet at checks level
++enumint               #
+-mustfree              #
+-predboolptr           #
+-usedef                        #
+
+# --- not-yet at standard level
+-boolops               #
++boolint               #
++charint               #
++ignorequals           #
++matchanyintegral      #
index f9f319e..a833f98 100644 (file)
  * c1 and c2 are (optional) integer parameters for the message.\r
  * Terminates iff level==ERROR, otherwise returns.\r
  */\r
-void ErrorMessage(level,msg,c1,c2)\r
-int level; \r
-char *msg;\r
-int c1, c2;\r
+void ErrorMessage(int level, const char *msg, int c1, int c2)\r
 {\r
   fflush(stdout);\r
   printf("\n*** ");\r
@@ -39,15 +36,14 @@ int c1, c2;
 /* initializeMemory()\r
  * take care of memory initialization \r
  */\r
-void initializeMemory()\r
+void initializeMemory(void)\r
 { ; } /* nothing in this implementation -- use malloc */\r
 \r
 /* sexpAlloc(n)\r
  * Allocates n bytes of storage. \r
  * Terminates execution if no memory available.\r
  */\r
-char *sexpAlloc(n)\r
-int n;\r
+char *sexpAlloc(int n)\r
 { char *c = (char *)malloc((unsigned int) n);\r
   if (c == NULL) ErrorMessage(ERROR,"Error in sexpAlloc: out of memory!",0,0);\r
   return(c);\r
@@ -61,7 +57,7 @@ int n;
  * Creates and initializes new sexpSimpleString object.\r
  * Allocates 16-character buffer to hold string.\r
  */\r
-sexpSimpleString *newSimpleString()\r
+sexpSimpleString *newSimpleString(void)\r
 {\r
   sexpSimpleString *ss;\r
   ss = (sexpSimpleString *) sexpAlloc(sizeof(sexpSimpleString));\r
@@ -74,23 +70,20 @@ sexpSimpleString *newSimpleString()
 /* simpleStringLength(ss)\r
  * returns length of simple string \r
  */\r
-long int simpleStringLength(ss)\r
-sexpSimpleString *ss;\r
+long int simpleStringLength(sexpSimpleString *ss)\r
 { return(ss->length); }\r
 \r
 /* simpleStringString(ss)\r
  * returns pointer to character array of simple string \r
  */\r
-octet *simpleStringString(ss)\r
-sexpSimpleString *ss;\r
+octet *simpleStringString(sexpSimpleString *ss)\r
 { return(ss->string); }\r
 \r
 /* reallocateSimpleString(ss)\r
  * Changes space allocated to ss.\r
  * Space allocated is set to roughly 3/2 the current string length, plus 16.\r
  */\r
-sexpSimpleString *reallocateSimpleString(ss)\r
-sexpSimpleString *ss;\r
+sexpSimpleString *reallocateSimpleString(sexpSimpleString *ss)\r
 {\r
   int newsize, i;\r
   octet *newstring;\r
@@ -115,9 +108,7 @@ sexpSimpleString *ss;
  * Appends the character c to the end of simple string ss.\r
  * Reallocates storage assigned to s if necessary to make room for c.\r
  */\r
-void appendCharToSimpleString(c,ss)\r
-int c;\r
-sexpSimpleString *ss;\r
+void appendCharToSimpleString(int c, sexpSimpleString *ss)\r
 {\r
   if (ss==NULL) ss = newSimpleString();\r
   if (ss->string == NULL || ss->length == ss->allocatedLength )\r
@@ -134,7 +125,7 @@ sexpSimpleString *ss;
  * Creates and initializes a new sexpString object.\r
  * Both the presentation hint and the string are initialized to NULL.\r
  */\r
-sexpString *newSexpString()\r
+sexpString *newSexpString(void)\r
 {\r
   sexpString *s;\r
   s = (sexpString *) sexpAlloc(sizeof(sexpString));\r
@@ -147,38 +138,31 @@ sexpString *newSexpString()
 /* sexpStringPresentationHint()\r
  * returns presentation hint field of the string \r
  */\r
-sexpSimpleString *sexpStringPresentationHint(s)\r
-sexpString *s;\r
+sexpSimpleString *sexpStringPresentationHint(sexpString *s)\r
 { return(s->presentationHint); }\r
 \r
 /* setSexpStringPresentationHint()\r
  * assigns the presentation hint field of the string\r
  */\r
-void setSexpStringPresentationHint(s,ss)\r
-sexpString *s;\r
-sexpSimpleString *ss;\r
+void setSexpStringPresentationHint(sexpString *s, sexpSimpleString *ss)\r
 { s->presentationHint = ss; }\r
 \r
 /* setSexpStringString()\r
  * assigns the string field of the string\r
  */\r
-void setSexpStringString(s,ss)\r
-sexpString *s;\r
-sexpSimpleString *ss;\r
+void setSexpStringString(sexpString *s, sexpSimpleString *ss)\r
 { s->string = ss; }\r
 \r
 /* sexpStringString()\r
  * returns the string field of the string\r
  */\r
-sexpSimpleString *sexpStringString(s)\r
-sexpString *s;\r
+sexpSimpleString *sexpStringString(sexpString *s)\r
 { return(s->string); }\r
 \r
 /* closeSexpString()\r
  * finish up string computations after created \r
  */\r
-void closeSexpString(s)\r
-sexpString *s;\r
+void closeSexpString(sexpString *s)\r
 { ; }  /* do nothing in this implementation */\r
 \r
 /**************************/\r
@@ -190,7 +174,7 @@ sexpString *s;
  * Both the first and rest fields are initialized to NULL, which is\r
  * SEXP's representation of an empty list.\r
  */\r
-sexpList *newSexpList()\r
+sexpList *newSexpList(void)\r
 {\r
   sexpList *list;\r
   list = (sexpList *) sexpAlloc(sizeof(sexpList));\r
@@ -203,9 +187,7 @@ sexpList *newSexpList()
 /* sexpAddSexpListObject()\r
  * add object to end of list\r
  */\r
-void sexpAddSexpListObject(list,object)\r
-sexpList *list;\r
-sexpObject *object;\r
+void sexpAddSexpListObject(sexpList *list, sexpObject *object)\r
 {\r
   if (list->first == NULL)\r
     list->first = object;\r
@@ -220,8 +202,7 @@ sexpObject *object;
 /* closeSexpList()\r
  * finish off a list that has just been input\r
  */\r
-void closeSexpList(list)\r
-sexpList *list;\r
+void closeSexpList(sexpList *list)\r
 { ; } /* nothing in this implementation */\r
 \r
 /* Iteration on lists.\r
@@ -232,15 +213,13 @@ sexpList *list;
 /* sexpListIter()\r
  * return the iterator for going over a list \r
  */\r
-sexpIter *sexpListIter(list)\r
-sexpList *list;\r
+sexpIter *sexpListIter(sexpList *list)\r
 { return((sexpIter *)list); }\r
 \r
 /* sexpIterNext()\r
  * advance iterator to next element of list, or else return null\r
  */\r
-sexpIter *sexpIterNext(iter)\r
-sexpIter *iter;\r
+sexpIter *sexpIterNext(sexpIter *iter)\r
 { if (iter == NULL) return(NULL);\r
   return((sexpIter *)(((sexpList *)iter)->rest));\r
 }\r
@@ -248,8 +227,7 @@ sexpIter *iter;
 /* sexpIterObject ()\r
  * return object corresponding to current state of iterator\r
  */\r
-sexpObject *sexpIterObject(iter)\r
-sexpIter *iter;\r
+sexpObject *sexpIterObject(sexpIter *iter)\r
 { if (iter == NULL) return(NULL);\r
   return(((sexpList *)iter)->first);\r
 }\r
@@ -258,15 +236,12 @@ sexpIter *iter;
 /* SEXP OBJECT MANIPULATION */\r
 /****************************/\r
 \r
-int isObjectString(object)\r
-sexpObject *object;\r
+int isObjectString(sexpObject *object)\r
 { if (((sexpString *)object)->type == SEXP_STRING) return(TRUE);\r
   else                                             return(FALSE);\r
 }\r
 \r
-int isObjectList(object)\r
-sexpObject *object;\r
+int isObjectList(sexpObject *object)\r
 { if (((sexpList *)object)->type == SEXP_LIST) return(TRUE);\r
   else                                         return(FALSE);\r
 }\r
-\r
index 7904367..ff1c064 100644 (file)
@@ -25,7 +25,7 @@ char alpha[256];            /* alpha[c] is true if c is alphabetic A-Z a-z */
 /* initializeCharacterTables\r
  * initializes all of the above arrays\r
  */ \r
-void initializeCharacterTables()\r
+void initializeCharacterTables(void)\r
 { int i;\r
   for (i=0;i<256;i++) upper[i] = i;\r
   for (i='a'; i<='z'; i++) upper[i] = i - 'a' + 'A';\r
@@ -68,43 +68,37 @@ void initializeCharacterTables()
 /* isWhiteSpace(c)\r
  * Returns TRUE if c is a whitespace character (space, tab, etc. ).\r
  */\r
-int isWhiteSpace(c)\r
-int c;\r
+int isWhiteSpace(int c)\r
 { return ((c>=0 && c<=255) && whitespace[c]); }\r
 \r
 /* isDecDigit(c)\r
  * Returns TRUE if c is a decimal digit.\r
  */\r
-int isDecDigit(c)\r
-int c;\r
+int isDecDigit(int c)\r
 { return ((c>=0 && c<=255) && decdigit[c]); }\r
 \r
 /* isHexDigit(c)\r
  * Returns TRUE if c is a hexadecimal digit.\r
  */\r
-int isHexDigit(c)\r
-int c;\r
+int isHexDigit(int c)\r
 { return ((c>=0 && c<=255) && hexdigit[c]); }\r
 \r
 /* isBase64Digit(c)\r
  * returns TRUE if c is a base64 digit A-Z,a-Z,0-9,+,/\r
  */\r
-int isBase64Digit(c)\r
-int c;\r
+int isBase64Digit(int c)\r
 { return ((c>=0 && c<=255) && base64digit[c]); }\r
 \r
 /* isTokenChar(c)\r
  * Returns TRUE if c is allowed in a token\r
  */\r
-int isTokenChar(c)\r
-int c;\r
+int isTokenChar(int c)\r
 { return ((c>=0 && c<=255) && tokenchar[c]); }\r
 \r
 /* isAlpha(c)\r
  * Returns TRUE if c is alphabetic\r
  */\r
-int isAlpha(c)\r
-int c;\r
+int isAlpha(int c)\r
 { return ((c>=0 && c<=255) && alpha[c]); }\r
 \r
 /**********************/\r
@@ -113,9 +107,7 @@ int c;
 \r
 /* changeInputByteSize(is,newByteSize)\r
  */\r
-void changeInputByteSize(is,newByteSize)\r
-sexpInputStream *is;\r
-int newByteSize;\r
+void changeInputByteSize(sexpInputStream *is, int newByteSize)\r
 {\r
   is->byteSize = newByteSize;\r
   is->nBits = 0;\r
@@ -130,8 +122,7 @@ int newByteSize;
  * The value EOF is obtained when no more input is available.  \r
  * This code handles 4-bit/6-bit/8-bit channels.\r
  */\r
-void getChar(is)\r
-sexpInputStream *is;\r
+void getChar(sexpInputStream *is)\r
 { int c;\r
   if (is->nextChar == EOF) \r
     { is->byteSize = 8;\r
@@ -185,7 +176,7 @@ sexpInputStream *is;
  * (Prefixes stream with one blank, and initializes stream\r
  *  so that it reads from standard input.)\r
  */\r
-sexpInputStream *newSexpInputStream()\r
+sexpInputStream *newSexpInputStream(void)\r
 {\r
   sexpInputStream *is;\r
   is = (sexpInputStream *) sexpAlloc(sizeof(sexpInputStream));\r
@@ -206,8 +197,7 @@ sexpInputStream *newSexpInputStream()
 /* skipWhiteSpace(is)\r
  * Skip over any white space on the given sexpInputStream.\r
  */\r
-void skipWhiteSpace(is)\r
-sexpInputStream *is;\r
+void skipWhiteSpace(sexpInputStream *is)\r
 {\r
   while (isWhiteSpace(is->nextChar)) is->getChar(is);\r
 }     \r
@@ -216,9 +206,7 @@ sexpInputStream *is;
  * Skip the following input character on input stream is, if it is\r
  * equal to the character c.  If it is not equal, then an error occurs.\r
  */\r
-void skipChar(is,c)\r
-sexpInputStream *is;\r
-int c;\r
+void skipChar(sexpInputStream *is, int c)\r
 {\r
   if (is->nextChar==c) \r
     is->getChar(is);\r
@@ -231,9 +219,7 @@ int c;
 /* scanToken(is,ss)\r
  * scan one or more characters into simple string ss as a token.\r
  */\r
-void scanToken(is,ss)\r
-sexpInputStream *is;\r
-sexpSimpleString *ss;\r
+void scanToken(sexpInputStream *is, sexpSimpleString *ss)\r
 {\r
   skipWhiteSpace(is);\r
   while (isTokenChar(is->nextChar))\r
@@ -248,8 +234,7 @@ sexpSimpleString *ss;
  * scan one or more characters (until EOF reached)\r
  * return an object that is just that string\r
  */\r
-sexpObject *scanToEOF(is)\r
-sexpInputStream *is;\r
+sexpObject *scanToEOF(sexpInputStream *is)\r
 {\r
   sexpSimpleString *ss = newSimpleString();\r
   sexpString *s = newSexpString();\r
@@ -266,8 +251,7 @@ sexpInputStream *is;
 /* scanDecimal(is)\r
  * returns long integer that is value of decimal number\r
  */\r
-unsigned long int scanDecimal(is)\r
-sexpInputStream *is;\r
+unsigned long int scanDecimal(sexpInputStream *is)\r
 { unsigned long int value = 0L;\r
   int i = 0;\r
   while (isDecDigit(is->nextChar)) \r
@@ -282,10 +266,7 @@ sexpInputStream *is;
 /* scanVerbatimString(is,ss,length)\r
  * Reads verbatim string of given length into simple string ss.\r
  */\r
-void scanVerbatimString(is,ss,length)\r
-sexpInputStream *is;\r
-sexpSimpleString *ss;\r
-long int length;\r
+void scanVerbatimString(sexpInputStream *is, sexpSimpleString *ss, long int length)\r
 {\r
   long int i = 0L;\r
   skipWhiteSpace(is);\r
@@ -304,10 +285,7 @@ long int length;
  * Handles ordinary C escapes. \r
  * If of indefinite length, length is -1.\r
  */\r
-void scanQuotedString(is,ss,length)\r
-sexpInputStream *is;\r
-sexpSimpleString *ss;\r
-long int length;\r
+void scanQuotedString(sexpInputStream *is, sexpSimpleString *ss, long int length)\r
 {\r
   int c;\r
   skipChar(is,'"');\r
@@ -392,10 +370,7 @@ long int length;
  * Reads hexadecimal string into simple string ss.\r
  * String is of given length result, or length = -1 if indefinite length.\r
  */\r
-void scanHexString(is,ss,length)\r
-sexpInputStream *is;\r
-sexpSimpleString *ss;\r
-long int length;\r
+void scanHexString(sexpInputStream *is, sexpSimpleString *ss, long int length)\r
 { changeInputByteSize(is,4);\r
   skipChar(is,'#');\r
   while (is->nextChar != EOF && (is->nextChar != '#' || is->byteSize==4))\r
@@ -415,10 +390,7 @@ long int length;
  * Reads base64 string into simple string ss.\r
  * String is of given length result, or length = -1 if indefinite length.\r
  */\r
-void scanBase64String(is,ss,length)\r
-sexpInputStream *is;\r
-sexpSimpleString *ss;\r
-long int length;\r
+void scanBase64String(sexpInputStream *is, sexpSimpleString *ss, long int length)\r
 { changeInputByteSize(is,6);\r
   skipChar(is,'|');\r
   while (is->nextChar != EOF && (is->nextChar != '|' || is->byteSize == 6))\r
@@ -439,8 +411,7 @@ long int length;
  * Determines type of simple string from the initial character, and\r
  * dispatches to appropriate routine based on that. \r
  */\r
-sexpSimpleString *scanSimpleString(is)\r
-sexpInputStream *is;\r
+sexpSimpleString *scanSimpleString(sexpInputStream *is)\r
 {\r
   long int length;\r
   sexpSimpleString *ss;\r
@@ -475,8 +446,7 @@ sexpInputStream *is;
 /* scanString(is)\r
  * Reads and returns a string [presentationhint]string from input stream.\r
  */\r
-sexpString *scanString(is)\r
-sexpInputStream *is;\r
+sexpString *scanString(sexpInputStream *is)\r
 {\r
   sexpString *s;\r
   sexpSimpleString *ss;\r
@@ -499,8 +469,7 @@ sexpInputStream *is;
 /* scanList(is)\r
  * Read and return a sexpList from the input stream.\r
  */\r
-sexpList *scanList(is)\r
-sexpInputStream *is;\r
+sexpList *scanList(sexpInputStream *is)\r
 { sexpList *list;\r
   sexpObject *object;\r
   skipChar(is,'(');\r
@@ -532,8 +501,7 @@ sexpInputStream *is;
 /* scanObject(is)\r
  * Reads and returns a sexpObject from the given input stream.\r
  */\r
-sexpObject *scanObject(is)\r
-sexpInputStream *is;\r
+sexpObject *scanObject(sexpInputStream *is)\r
 {\r
   sexpObject *object;\r
   skipWhiteSpace(is);\r
index 560a455..c9071c7 100644 (file)
@@ -38,9 +38,7 @@ char *help =
 /*************************************************************************/\r
 /* main(argc,argv)\r
  */\r
-int main(argc,argv)\r
-int argc;\r
-char **argv;\r
+int main(int argc, char **argv)\r
 { char *c;\r
   int swa = TRUE;\r
   int swb = TRUE;\r
index c0c91e7..3ae20b2 100644 (file)
@@ -20,9 +20,7 @@ static char *base64Digits =
  * Puts the character c out on the output stream os.\r
  * Keeps track of the "column" the next output char will go to.\r
  */\r
-void putChar(os,c)\r
-sexpOutputStream *os;\r
-int c;\r
+void putChar(sexpOutputStream *os, int c)\r
 {\r
   putc(c,os->outputFile);\r
   os->column++;\r
@@ -31,9 +29,7 @@ int c;
 /* varPutChar(os,c)\r
  * putChar with variable sized output bytes considered.\r
  */\r
-void varPutChar(os,c)\r
-sexpOutputStream *os;\r
-int c;      /* this is always an eight-bit byte being output */\r
+void varPutChar(sexpOutputStream *os, int c)\r
 {\r
   c &= 0xFF;\r
   os->bits = (os->bits << 8) | c;\r
@@ -62,10 +58,7 @@ int c;      /* this is always an eight-bit byte being output */
  * Change os->byteSize to newByteSize\r
  * record mode in output stream for automatic line breaks\r
  */\r
-void changeOutputByteSize(os,newByteSize,mode)\r
-sexpOutputStream *os;\r
-int newByteSize;\r
-int mode;\r
+void changeOutputByteSize(sexpOutputStream *os, int newByteSize, int mode)\r
 { \r
   if (newByteSize != 4 && newByteSize !=6 && newByteSize !=8)\r
     ErrorMessage(ERROR,"Illegal output base %d.",newByteSize,0);\r
@@ -82,8 +75,7 @@ int mode;
 /* flushOutput(os)\r
  * flush out any remaining bits \r
  */\r
-void flushOutput(os)\r
-sexpOutputStream *os;\r
+void flushOutput(sexpOutputStream * os)\r
 { if (os->nBits > 0)\r
     { \r
       if (os->byteSize == 4)\r
@@ -110,9 +102,7 @@ sexpOutputStream *os;
  * indentation level (but never indents more than half of maxcolumn).\r
  * Resets column for next output character.\r
  */\r
-void newLine(os,mode)\r
-sexpOutputStream *os;\r
-int mode;\r
+void newLine(sexpOutputStream *os, int mode)\r
 { int i;\r
   if (mode == ADVANCED || mode == BASE64)\r
     { os->putChar(os,'\n');\r
@@ -126,7 +116,7 @@ int mode;
 /* newSexpOutputStream()\r
  * Creates and initializes new sexpOutputStream object.\r
  */\r
-sexpOutputStream *newSexpOutputStream()\r
+sexpOutputStream *newSexpOutputStream(void)\r
 {\r
   sexpOutputStream *os;\r
   os = (sexpOutputStream *) sexpAlloc(sizeof(sexpOutputStream));\r
@@ -150,9 +140,7 @@ sexpOutputStream *newSexpOutputStream()
 /* printDecimal(os,n)\r
  * print out n in decimal to output stream os\r
  */\r
-void printDecimal(os,n)\r
-sexpOutputStream *os;\r
-long int n;\r
+void printDecimal(sexpOutputStream *os, long int n)\r
 { char buffer[50];\r
   int i;\r
   sprintf(buffer,"%ld",n);\r
@@ -167,9 +155,7 @@ long int n;
 /* canonicalPrintVerbatimSimpleString(os,ss)\r
  * Print out simple string ss on output stream os as verbatim string.\r
  */\r
-void canonicalPrintVerbatimSimpleString(os,ss)\r
-sexpOutputStream *os;\r
-sexpSimpleString *ss;\r
+void canonicalPrintVerbatimSimpleString(sexpOutputStream *os, sexpSimpleString *ss)\r
 { \r
   long int len;\r
   long int i;\r
@@ -188,9 +174,7 @@ sexpSimpleString *ss;
 /* canonicalPrintString(os,s)\r
  * Prints out sexp string s onto output stream os\r
  */\r
-void canonicalPrintString(os,s)\r
-sexpOutputStream *os;\r
-sexpString *s;\r
+void canonicalPrintString(sexpOutputStream *os, sexpString *s)\r
 { sexpSimpleString *ph, *ss;\r
   ph = sexpStringPresentationHint(s);\r
   if (ph != NULL) \r
@@ -207,9 +191,7 @@ sexpString *s;
 /* canonicalPrintList(os,list)\r
  * Prints out the list "list" onto output stream os\r
  */\r
-void canonicalPrintList(os,list)\r
-sexpOutputStream *os;\r
-sexpList *list;\r
+void canonicalPrintList(sexpOutputStream *os, sexpList *list)\r
 { sexpIter *iter;\r
   sexpObject *object;\r
   varPutChar(os,'(');\r
@@ -227,9 +209,7 @@ sexpList *list;
  * Prints out object on output stream os\r
  * Note that this uses the common "type" field of lists and strings.\r
  */\r
-void canonicalPrintObject(os,object)\r
-sexpOutputStream *os;\r
-sexpObject *object;\r
+void canonicalPrintObject(sexpOutputStream *os, sexpObject *object)\r
 {\r
   if (isObjectString(object))\r
     canonicalPrintString(os,(sexpString *)object);\r
@@ -243,9 +223,7 @@ sexpObject *object;
 /* *************/\r
 /* Same as canonical, except all characters get put out as base 64 ones */\r
 \r
-void base64PrintWholeObject(os,object)\r
-sexpOutputStream *os;\r
-sexpObject *object;\r
+void base64PrintWholeObject(sexpOutputStream *os, sexpObject *object)\r
 {\r
   changeOutputByteSize(os,8,BASE64);\r
   varPutChar(os,'{');\r
@@ -266,9 +244,7 @@ sexpObject *object;
  * Returns TRUE if simple string ss can be printed as a token.\r
  * Doesn't begin with a digit, and all characters are tokenchars.\r
  */\r
-int canPrintAsToken(os,ss)\r
-sexpOutputStream *os;\r
-sexpSimpleString *ss;\r
+int canPrintAsToken(sexpOutputStream *os, sexpSimpleString *ss)\r
 {\r
   int i;\r
   octet *c;\r
@@ -288,9 +264,7 @@ sexpSimpleString *ss;
  * Prints out simple string ss as a token (assumes that this is OK).\r
  * May run over max-column, but there is no fragmentation allowed...\r
  */\r
-void advancedPrintTokenSimpleString(os,ss)\r
-sexpOutputStream *os;\r
-sexpSimpleString *ss;\r
+void advancedPrintTokenSimpleString(sexpOutputStream *os, sexpSimpleString *ss)\r
 { int i;\r
   long int len;\r
   octet *c;\r
@@ -305,8 +279,7 @@ sexpSimpleString *ss;
 /* advancedLengthSimpleStringToken(ss)\r
  * Returns length for printing simple string ss as a token \r
  */\r
-int advancedLengthSimpleStringToken(ss)\r
-sexpSimpleString *ss;\r
+int advancedLengthSimpleStringToken(sexpSimpleString *ss)\r
 { return(simpleStringLength(ss)); }\r
 \r
 \r
@@ -316,9 +289,7 @@ sexpSimpleString *ss;
  * Print out simple string ss on output stream os as verbatim string.\r
  * Again, can't fragment string, so max-column is just a suggestion...\r
  */\r
-void advancedPrintVerbatimSimpleString(os,ss)\r
-sexpOutputStream *os;\r
-sexpSimpleString *ss;\r
+void advancedPrintVerbatimSimpleString(sexpOutputStream *os, sexpSimpleString *ss)\r
 { \r
   long int len = simpleStringLength(ss);\r
   long int i;\r
@@ -336,8 +307,7 @@ sexpSimpleString *ss;
 /* advancedLengthSimpleStringVerbatim(ss)\r
  * Returns length for printing simple string ss in verbatim mode\r
  */\r
-int advancedLengthSimpleStringVerbatim(ss)\r
-sexpSimpleString *ss;\r
+int advancedLengthSimpleStringVerbatim(sexpSimpleString *ss)\r
 { long int len = simpleStringLength(ss);\r
   int i = 1;\r
   while (len > 9L) { i++; len = len / 10; }\r
@@ -349,9 +319,7 @@ sexpSimpleString *ss;
 /* advancedPrintBase64SimpleString(os,ss)\r
  * Prints out simple string ss as a base64 value.\r
  */\r
-void advancedPrintBase64SimpleString(os,ss)\r
-sexpOutputStream *os;\r
-sexpSimpleString *ss;\r
+void advancedPrintBase64SimpleString(sexpOutputStream *os, sexpSimpleString *ss)\r
 {\r
   long int i,len;\r
   octet *c = simpleStringString(ss);\r
@@ -372,9 +340,7 @@ sexpSimpleString *ss;
 /* advancedPrintHexSimpleString(os,ss)\r
  * Prints out simple string ss as a hexadecimal value.\r
  */\r
-void advancedPrintHexSimpleString(os,ss)\r
-sexpOutputStream *os;\r
-sexpSimpleString *ss;\r
+void advancedPrintHexSimpleString(sexpOutputStream *os, sexpSimpleString *ss)\r
 {\r
   long int i,len;\r
   octet *c = simpleStringString(ss);\r
@@ -393,8 +359,7 @@ sexpSimpleString *ss;
 /* advancedLengthSimpleStringHexadecimal(ss)\r
  * Returns length for printing simple string ss in hexadecimal mode\r
  */\r
-int advancedLengthSimpleStringHexadecimal(ss)\r
-sexpSimpleString *ss;\r
+int advancedLengthSimpleStringHexadecimal(sexpSimpleString *ss)\r
 { long int len = simpleStringLength(ss);\r
   return(1+2*len+1);\r
 }\r
@@ -405,8 +370,7 @@ sexpSimpleString *ss;
  * Returns TRUE if simple string ss can be printed as a quoted string.\r
  * Must have only tokenchars and blanks.\r
  */\r
-int canPrintAsQuotedString(ss)\r
-sexpSimpleString *ss;\r
+int canPrintAsQuotedString(sexpSimpleString *ss)\r
 {\r
   long int i, len;\r
   octet *c = simpleStringString(ss);\r
@@ -424,9 +388,7 @@ sexpSimpleString *ss;
  *  so no escape sequences need to be generated.\r
  * May run over max-column, but there is no fragmentation allowed...\r
  */\r
-void advancedPrintQuotedStringSimpleString(os,ss)\r
-sexpOutputStream *os;\r
-sexpSimpleString *ss;\r
+void advancedPrintQuotedStringSimpleString(sexpOutputStream *os, sexpSimpleString *ss)\r
 { long int i;\r
   long int len = simpleStringLength(ss);\r
   octet *c = simpleStringString(ss);\r
@@ -446,8 +408,7 @@ sexpSimpleString *ss;
 /* advancedLengthSimpleStringQuotedString(ss)\r
  * Returns length for printing simple string ss in quoted-string mode\r
  */\r
-int advancedLengthSimpleStringQuotedString(ss)\r
-sexpSimpleString *ss;\r
+int advancedLengthSimpleStringQuotedString(sexpSimpleString *ss)\r
 { long int len = simpleStringLength(ss);\r
   return(1+len+1);\r
 }\r
@@ -457,9 +418,7 @@ sexpSimpleString *ss;
 /* advancedPrintSimpleString(os,ss)\r
  * Prints out simple string ss onto output stream ss\r
  */\r
-void advancedPrintSimpleString(os,ss)\r
-sexpOutputStream *os;\r
-sexpSimpleString *ss;\r
+void advancedPrintSimpleString(sexpOutputStream *os, sexpSimpleString *ss)\r
 { long int len = simpleStringLength(ss);\r
   if (canPrintAsToken(os,ss)) \r
     advancedPrintTokenSimpleString(os,ss);\r
@@ -476,9 +435,7 @@ sexpSimpleString *ss;
 /* advancedPrintString(os,s)\r
  * Prints out sexp string s onto output stream os\r
  */\r
-void advancedPrintString(os,s)\r
-sexpOutputStream *os;\r
-sexpString *s;\r
+void advancedPrintString(sexpOutputStream *os, sexpString *s)\r
 {\r
   sexpSimpleString *ph = sexpStringPresentationHint(s);\r
   sexpSimpleString *ss = sexpStringString(s);\r
@@ -495,16 +452,13 @@ sexpString *s;
 /* advancedLengthSimpleStringBase64(ss)\r
  * Returns length for printing simple string ss as a base64 string\r
  */\r
-int advancedLengthSimpleStringBase64(ss)\r
-sexpSimpleString *ss;\r
+int advancedLengthSimpleStringBase64(sexpSimpleString *ss)\r
 { return(2+4*((simpleStringLength(ss)+2)/3)); }\r
 \r
 /* advancedLengthSimpleString(os,ss)\r
  * Returns length of printed image of s\r
  */\r
-int advancedLengthSimpleString(os,ss)\r
-sexpOutputStream *os;\r
-sexpSimpleString *ss;\r
+int advancedLengthSimpleString(sexpOutputStream *os, sexpSimpleString *ss)\r
 { long int len = simpleStringLength(ss);\r
   if (canPrintAsToken(os,ss)) \r
     return(advancedLengthSimpleStringToken(ss));\r
@@ -521,9 +475,7 @@ sexpSimpleString *ss;
 /* advancedLengthString(os,s)\r
  * Returns length of printed image of string s\r
  */\r
-int advancedLengthString(os,s)\r
-sexpOutputStream *os;\r
-sexpString *s;\r
+int advancedLengthString(sexpOutputStream *os, sexpString *s)\r
 { int len = 0;\r
   sexpSimpleString *ph = sexpStringPresentationHint(s);\r
   sexpSimpleString *ss = sexpStringString(s);\r
@@ -537,9 +489,7 @@ sexpString *s;
 /* advancedLengthList(os,list)\r
  * Returns length of printed image of list given as iterator\r
  */\r
-int advancedLengthList(os,list)\r
-sexpOutputStream *os;\r
-sexpList *list;\r
+int advancedLengthList(sexpOutputStream *os, sexpList *list)\r
 { int len = 1;                       /* for left paren */\r
   sexpIter *iter;\r
   sexpObject *object;\r
@@ -566,9 +516,7 @@ sexpList *list;
  * written out in "vertical" mode, with items of the list starting in\r
  * the same column on successive lines.\r
  */\r
-void advancedPrintList(os,list)\r
-sexpOutputStream *os;\r
-sexpList *list;\r
+void advancedPrintList(sexpOutputStream *os, sexpList *list)\r
 { int vertical = FALSE;\r
   int firstelement = TRUE;\r
   sexpIter *iter;\r
@@ -599,9 +547,7 @@ sexpList *list;
 /* advancedPrintObject(os,object)\r
  * Prints out object on output stream os \r
  */\r
-void advancedPrintObject(os,object)\r
-sexpOutputStream *os;\r
-sexpObject *object;\r
+void advancedPrintObject(sexpOutputStream *os, sexpObject *object)\r
 {\r
   if (os->maxcolumn>0 && os->column>os->maxcolumn-4)\r
     os->newLine(os,ADVANCED);\r
index 413be2f..10f7a06 100644 (file)
@@ -86,82 +86,159 @@ typedef struct sexp_outputstream {
 /* Function prototypes */\r
 \r
 /* sexp-basic */\r
-void ErrorMessage();\r
-void initializeMemory();\r
-char *sexpAlloc();\r
-sexpSimpleString *newSimpleString();\r
-long int simpleStringLength();\r
-octet *simpleStringString();\r
-sexpSimpleString *reallocateSimpleString();\r
-void appendCharToSimpleString();\r
-sexpString *newSexpString();\r
-sexpSimpleString *sexpStringPresentationHint();\r
-sexpSimpleString *sexpStringString();\r
-void setSexpStringPresentationHint();\r
-void setSexpStringString();\r
-void closeSexpString();\r
-sexpList *newSexpList();\r
-void sexpAddSexpListObject();\r
-void closeSexpList();\r
-sexpIter *sexpListIter();\r
-sexpIter *sexpIterNext();\r
-sexpObject *sexpIterObject();\r
-int isObjectString();\r
-int isObjectList();\r
+void ErrorMessage(int level, const char *msg, int c1, int c2)\r
+       /*@*/;\r
+void initializeMemory(void)\r
+       /*@*/;\r
+char *sexpAlloc(int n)\r
+       /*@*/;\r
+sexpSimpleString *newSimpleString(void)\r
+       /*@*/;\r
+long int simpleStringLength(sexpSimpleString *ss)\r
+       /*@*/;\r
+octet *simpleStringString(sexpSimpleString *ss)\r
+       /*@*/;\r
+sexpSimpleString *reallocateSimpleString(sexpSimpleString *ss)\r
+       /*@*/;\r
+void appendCharToSimpleString(int c, sexpSimpleString *ss)\r
+       /*@*/;\r
+sexpString *newSexpString(void)\r
+       /*@*/;\r
+sexpSimpleString *sexpStringPresentationHint(sexpString *s)\r
+       /*@*/;\r
+void setSexpStringPresentationHint(sexpString *s, sexpSimpleString *ss)\r
+       /*@*/;\r
+void setSexpStringString(sexpString *s, sexpSimpleString *ss)\r
+       /*@*/;\r
+sexpSimpleString *sexpStringString(sexpString *s)\r
+       /*@*/;\r
+void closeSexpString(sexpString *s)\r
+       /*@*/;\r
+sexpList *newSexpList(void)\r
+       /*@*/;\r
+void sexpAddSexpListObject(sexpList *list, sexpObject *object)\r
+       /*@*/;\r
+void closeSexpList(sexpList *list)\r
+       /*@*/;\r
+sexpIter *sexpListIter(sexpList *list)\r
+       /*@*/;\r
+sexpIter *sexpIterNext(sexpIter *iter)\r
+       /*@*/;\r
+sexpObject *sexpIterObject(sexpIter *iter)\r
+       /*@*/;\r
+int isObjectString(sexpObject *object)\r
+       /*@*/;\r
+int isObjectList(sexpObject *object)\r
+       /*@*/;\r
 \r
 /* sexp-input */\r
-void initializeCharacterTables();\r
-int isWhiteSpace();\r
-int isDecDigit();\r
-int isHexDigit();\r
-int isBase64Digit();\r
-int isTokenChar();\r
-int isAlpha();\r
-void changeInputByteSize();\r
-void getChar();\r
-sexpInputStream *newSexpInputStream();\r
-void skipWhiteSpace();\r
-void skipChar();\r
-void scanToken();\r
-sexpObject *scanToEOF();\r
-unsigned long int scanDecimal();\r
-void scanVerbatimString();\r
-void scanQuotedString();\r
-void scanHexString();\r
-void scanBase64String();\r
-sexpSimpleString *scanSimpleString();\r
-sexpString *scanString();\r
-sexpList *scanList();\r
-sexpObject *scanObject();\r
+void initializeCharacterTables(void)\r
+       /*@*/;\r
+int isWhiteSpace(int c)\r
+       /*@*/;\r
+int isDecDigit(int c)\r
+       /*@*/;\r
+int isHexDigit(int c)\r
+       /*@*/;\r
+int isBase64Digit(int c)\r
+       /*@*/;\r
+int isTokenChar(int c)\r
+       /*@*/;\r
+int isAlpha(int c)\r
+       /*@*/;\r
+void changeInputByteSize(sexpInputStream *is, int newByteSize)\r
+       /*@*/;\r
+void getChar(sexpInputStream *is)\r
+       /*@*/;\r
+sexpInputStream *newSexpInputStream(void)\r
+       /*@*/;\r
+void skipWhiteSpace(sexpInputStream *is)\r
+       /*@*/;\r
+void skipChar(sexpInputStream *is, int c)\r
+       /*@*/;\r
+void scanToken(sexpInputStream *is, sexpSimpleString *ss)\r
+       /*@*/;\r
+sexpObject *scanToEOF(sexpInputStream *is)\r
+       /*@*/;\r
+unsigned long int scanDecimal(sexpInputStream *is)\r
+       /*@*/;\r
+void scanVerbatimString(sexpInputStream *is, sexpSimpleString *ss, long int length)\r
+       /*@*/;\r
+void scanQuotedString(sexpInputStream *is, sexpSimpleString *ss, long int length)\r
+       /*@*/;\r
+void scanHexString(sexpInputStream *is, sexpSimpleString *ss, long int length)\r
+       /*@*/;\r
+void scanBase64String(sexpInputStream *is, sexpSimpleString *ss, long int length)\r
+       /*@*/;\r
+sexpSimpleString *scanSimpleString(sexpInputStream *is)\r
+       /*@*/;\r
+sexpString *scanString(sexpInputStream *is)\r
+       /*@*/;\r
+sexpList *scanList(sexpInputStream *is)\r
+       /*@*/;\r
+sexpObject *scanObject(sexpInputStream *is)\r
+       /*@*/;\r
 \r
 /* sexp-output */\r
-void putChar();\r
-void varPutChar();\r
-void changeOutputByteSize();\r
-void flushOutput();\r
-void newLine();\r
-sexpOutputStream *newSexpOutputStream();\r
-void printDecimal();\r
-void canonicalPrintVerbatimSimpleString();\r
-void canonicalPrintString();\r
-void canonicalPrintList();\r
-void canonicalPrintObject();\r
-void base64PrintWholeObject();\r
-int canPrintAsToken();\r
-int significantNibbles();\r
-void advancedPrintTokenSimpleString();\r
-int  advancedLengthSimpleStringToken();\r
-void advancedPrintVerbatimSimpleString();\r
-int advancedLengthSimpleStringVerbatim();\r
-void advancedPrintBase64SimpleString();\r
-void advancedPrintHexSimpleString();\r
-int canPrintAsQuotedString();\r
-void advancedPrintQuotedStringSimpleString();\r
-void advancedPrintSimpleString();\r
-void advancedPrintString();\r
-int  advancedLengthSimpleStringBase64();\r
-int  advancedLengthSimpleString();\r
-int  advancedLengthString();\r
-int  advancedLengthList();\r
-void advancedPrintList();\r
-void advancedPrintObject();\r
+void putChar(sexpOutputStream *os, int c)\r
+       /*@*/;\r
+void varPutChar(sexpOutputStream *os, int c)\r
+       /*@*/;\r
+void changeOutputByteSize(sexpOutputStream *os, int newByteSize, int mode)\r
+       /*@*/;\r
+void flushOutput(sexpOutputStream * os)\r
+       /*@*/;\r
+void newLine(sexpOutputStream *os, int mode)\r
+       /*@*/;\r
+sexpOutputStream *newSexpOutputStream(void)\r
+       /*@*/;\r
+void printDecimal(sexpOutputStream *os, long int n)\r
+       /*@*/;\r
+void canonicalPrintVerbatimSimpleString(sexpOutputStream *os, sexpSimpleString *ss)\r
+       /*@*/;\r
+void canonicalPrintString(sexpOutputStream *os, sexpString *s)\r
+       /*@*/;\r
+void canonicalPrintList(sexpOutputStream *os, sexpList *list)\r
+       /*@*/;\r
+void canonicalPrintObject(sexpOutputStream *os, sexpObject *object)\r
+       /*@*/;\r
+void base64PrintWholeObject(sexpOutputStream *os, sexpObject *object)\r
+       /*@*/;\r
+int canPrintAsToken(sexpOutputStream *os, sexpSimpleString *ss)\r
+       /*@*/;\r
+void advancedPrintTokenSimpleString(sexpOutputStream *os, sexpSimpleString *ss)\r
+       /*@*/;\r
+int advancedLengthSimpleStringToken(sexpSimpleString *ss)\r
+       /*@*/;\r
+void advancedPrintVerbatimSimpleString(sexpOutputStream *os, sexpSimpleString *ss)\r
+       /*@*/;\r
+int advancedLengthSimpleStringVerbatim(sexpSimpleString *ss)\r
+       /*@*/;\r
+void advancedPrintBase64SimpleString(sexpOutputStream *os, sexpSimpleString *ss)\r
+       /*@*/;\r
+void advancedPrintHexSimpleString(sexpOutputStream *os, sexpSimpleString *ss)\r
+       /*@*/;\r
+int advancedLengthSimpleStringHexadecimal(sexpSimpleString *ss)\r
+       /*@*/;\r
+int canPrintAsQuotedString(sexpSimpleString *ss)\r
+       /*@*/;\r
+void advancedPrintQuotedStringSimpleString(sexpOutputStream *os, sexpSimpleString *ss)\r
+       /*@*/;\r
+int advancedLengthSimpleStringQuotedString(sexpSimpleString *ss)\r
+       /*@*/;\r
+void advancedPrintSimpleString(sexpOutputStream *os, sexpSimpleString *ss)\r
+       /*@*/;\r
+void advancedPrintString(sexpOutputStream *os, sexpString *s)\r
+       /*@*/;\r
+int advancedLengthSimpleStringBase64(sexpSimpleString *ss)\r
+       /*@*/;\r
+int advancedLengthSimpleString(sexpOutputStream *os, sexpSimpleString *ss)\r
+       /*@*/;\r
+int advancedLengthString(sexpOutputStream *os, sexpString *s)\r
+       /*@*/;\r
+int advancedLengthList(sexpOutputStream *os, sexpList *list)\r
+       /*@*/;\r
+void advancedPrintList(sexpOutputStream *os, sexpList *list)\r
+       /*@*/;\r
+void advancedPrintObject(sexpOutputStream *os, sexpObject *object)\r
+       /*@*/;\r