dotgnu-pnet-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Dotgnu-pnet-commits] CVS: pnet/cscc csdoc.c,1.22,1.23


From: Rhys Weatherley <address@hidden>
Subject: [Dotgnu-pnet-commits] CVS: pnet/cscc csdoc.c,1.22,1.23
Date: Mon, 28 Jul 2003 03:34:56 -0400

Update of /cvsroot/dotgnu-pnet/pnet/cscc
In directory subversions:/tmp/cvs-serv27796/cscc

Modified Files:
        csdoc.c 
Log Message:


Fix the quoting of '&' characters in csdoc output, and other places where
types may be dumped in XML form.


Index: csdoc.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/cscc/csdoc.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -C2 -r1.22 -r1.23
*** csdoc.c     14 May 2003 18:20:10 -0000      1.22
--- csdoc.c     28 Jul 2003 07:34:54 -0000      1.23
***************
*** 145,148 ****
--- 145,226 ----
  
  /*
+  * Dump a string, with XML quoting.
+  */
+ static void DumpString(const char *str, FILE *stream)
+ {
+       int ch;
+       if(!str)
+       {
+               return;
+       }
+       while((ch = *str++) != '\0')
+       {
+               if(ch == '<')
+               {
+                       fputs("&lt;", stream);
+               }
+               else if(ch == '>')
+               {
+                       fputs("&gt;", stream);
+               }
+               else if(ch == '&')
+               {
+                       fputs("&amp;", stream);
+               }
+               else if(ch == '"')
+               {
+                       fputs("&quot;", stream);
+               }
+               else if(ch == '\'')
+               {
+                       fputs("&apos;", stream);
+               }
+               else
+               {
+                       putc(ch, stream);
+               }
+       }
+ }
+ 
+ /*
+  * Dump a length-delimited string, with XML quoting.
+  */
+ static void DumpStringN(const char *str, int len, FILE *stream)
+ {
+       int ch;
+       if(!str)
+       {
+               return;
+       }
+       while(len-- > 0 && (ch = *str++) != '\0')
+       {
+               if(ch == '<')
+               {
+                       fputs("&lt;", stream);
+               }
+               else if(ch == '>')
+               {
+                       fputs("&gt;", stream);
+               }
+               else if(ch == '&')
+               {
+                       fputs("&amp;", stream);
+               }
+               else if(ch == '"')
+               {
+                       fputs("&quot;", stream);
+               }
+               else if(ch == '\'')
+               {
+                       fputs("&apos;", stream);
+               }
+               else
+               {
+                       putc(ch, stream);
+               }
+       }
+ }
+ 
+ /*
   * Dump a class name to a stream.
   */
***************
*** 153,160 ****
        if(namespace)
        {
!               fputs(namespace, stream);
                putc('.', stream);
        }
!       fputs(name, stream);
  }
  
--- 231,238 ----
        if(namespace)
        {
!               DumpString(namespace, stream);
                putc('.', stream);
        }
!       DumpString(name, stream);
  }
  
***************
*** 172,180 ****
                if(!namespace2 || strcmp(namespace, namespace2) != 0)
                {
!                       fputs(namespace, stream);
                        putc('.', stream);
                }
        }
!       fputs(name, stream);
  }
  
--- 250,258 ----
                if(!namespace2 || strcmp(namespace, namespace2) != 0)
                {
!                       DumpString(namespace, stream);
                        putc('.', stream);
                }
        }
!       DumpString(name, stream);
  }
  
***************
*** 203,207 ****
                putc('_', stream);
        }
!       fputs(name, stream);
  }
  
--- 281,285 ----
                putc('_', stream);
        }
!       DumpString(name, stream);
  }
  
***************
*** 467,471 ****
                Indent(stream, indent);
                fputs("<Member MemberName=\"", stream);
!               fputs(ILField_Name(field), stream);
                fputs("\">\n", stream);
  
--- 545,549 ----
                Indent(stream, indent);
                fputs("<Member MemberName=\"", stream);
!               DumpString(ILField_Name(field), stream);
                fputs("\">\n", stream);
  
***************
*** 475,481 ****
                ILDumpFlags(stream, ILField_Attrs(field), 
ILFieldDefinitionFlags, 0);
                ILDumpType(stream, ILProgramItem_Image(field),
!                                  ILField_Type(field), 0);
                putc(' ', stream);
!               fputs(ILField_Name(field), stream);
                fputs("\"/>\n", stream);
  
--- 553,559 ----
                ILDumpFlags(stream, ILField_Attrs(field), 
ILFieldDefinitionFlags, 0);
                ILDumpType(stream, ILProgramItem_Image(field),
!                                  ILField_Type(field), IL_DUMP_XML_QUOTING);
                putc(' ', stream);
!               DumpString(ILField_Name(field), stream);
                fputs("\"/>\n", stream);
  
***************
*** 484,490 ****
                fputs("<MemberSignature Language=\"C#\" Value=\"", stream);
                ILDumpFlags(stream, decl->modifiers, CSharpFieldFlags, 0);
!               fputs(CSTypeToName(ILField_Type(field)), stream);
                putc(' ', stream);
!               fputs(ILField_Name(field), stream);
                if(ILField_IsLiteral(field))
                {
--- 562,568 ----
                fputs("<MemberSignature Language=\"C#\" Value=\"", stream);
                ILDumpFlags(stream, decl->modifiers, CSharpFieldFlags, 0);
!               DumpString(CSTypeToName(ILField_Type(field)), stream);
                putc(' ', stream);
!               DumpString(ILField_Name(field), stream);
                if(ILField_IsLiteral(field))
                {
***************
*** 504,509 ****
                fputs("<ReturnValue>\n", stream);
                Indent(stream, indent + 4);
!               fprintf(stream, "<ReturnType>%s</ReturnType>\n",
!                               CSTypeToName(ILField_Type(field)));
                Indent(stream, indent + 2);
                fputs("</ReturnValue>\n", stream);
--- 582,588 ----
                fputs("<ReturnValue>\n", stream);
                Indent(stream, indent + 4);
!               fputs("<ReturnType>", stream);
!               DumpString(CSTypeToName(ILField_Type(field)), stream);
!               fputs("</ReturnType>\n", stream);
                Indent(stream, indent + 2);
                fputs("</ReturnValue>\n", stream);
***************
*** 546,550 ****
        Indent(stream, indent);
        fputs("<Member MemberName=\"", stream);
!       fputs(ILField_Name(field), stream);
        fputs("\">\n", stream);
  
--- 625,629 ----
        Indent(stream, indent);
        fputs("<Member MemberName=\"", stream);
!       DumpString(ILField_Name(field), stream);
        fputs("\">\n", stream);
  
***************
*** 554,560 ****
        ILDumpFlags(stream, ILField_Attrs(field), ILFieldDefinitionFlags, 0);
        ILDumpType(stream, ILProgramItem_Image(field),
!                          ILField_Type(field), 0);
        putc(' ', stream);
!       fputs(ILField_Name(field), stream);
        fputs("\"/>\n", stream);
  
--- 633,639 ----
        ILDumpFlags(stream, ILField_Attrs(field), ILFieldDefinitionFlags, 0);
        ILDumpType(stream, ILProgramItem_Image(field),
!                          ILField_Type(field), IL_DUMP_XML_QUOTING);
        putc(' ', stream);
!       DumpString(ILField_Name(field), stream);
        fputs("\"/>\n", stream);
  
***************
*** 562,568 ****
        Indent(stream, indent + 2);
        fputs("<MemberSignature Language=\"C#\" Value=\"", stream);
!       fputs(ILField_Name(field), stream);
        if(ILField_IsLiteral(field))
        {
        }
        fputs("\"/>\n", stream);
--- 641,648 ----
        Indent(stream, indent + 2);
        fputs("<MemberSignature Language=\"C#\" Value=\"", stream);
!       DumpString(ILField_Name(field), stream);
        if(ILField_IsLiteral(field))
        {
+               /* TODO */
        }
        fputs("\"/>\n", stream);
***************
*** 579,584 ****
        fputs("<ReturnValue>\n", stream);
        Indent(stream, indent + 4);
!       fprintf(stream, "<ReturnType>%s</ReturnType>\n",
!                       CSTypeToName(ILField_Type(field)));
        Indent(stream, indent + 2);
        fputs("</ReturnValue>\n", stream);
--- 659,665 ----
        fputs("<ReturnValue>\n", stream);
        Indent(stream, indent + 4);
!       fputs("<ReturnType>", stream);
!       DumpString(CSTypeToName(ILField_Type(field)), stream);
!       fputs("</ReturnType>\n", stream);
        Indent(stream, indent + 2);
        fputs("</ReturnValue>\n", stream);
***************
*** 759,763 ****
        Indent(stream, indent);
        fputs("<Member MemberName=\"", stream);
!       fputs(ILMethod_Name(method), stream);
        fputs("\">\n", stream);
  
--- 840,844 ----
        Indent(stream, indent);
        fputs("<Member MemberName=\"", stream);
!       DumpString(ILMethod_Name(method), stream);
        fputs("\">\n", stream);
  
***************
*** 776,780 ****
        signature = ILMethod_Signature(method);
        ILDumpMethodType(stream, ILProgramItem_Image(method), signature,
!                                0, 0, ILMethod_Name(method), method);
        putc(' ', stream);
        ILDumpFlags(stream, ILMethod_ImplAttrs(method),
--- 857,861 ----
        signature = ILMethod_Signature(method);
        ILDumpMethodType(stream, ILProgramItem_Image(method), signature,
!                                IL_DUMP_XML_QUOTING, 0, ILMethod_Name(method), 
method);
        putc(' ', stream);
        ILDumpFlags(stream, ILMethod_ImplAttrs(method),
***************
*** 788,792 ****
        if(!isConstructor)
        {
!               fputs(CSTypeToName(ILTypeGetReturn(signature)), stream);
                putc(' ', stream);
        }
--- 869,873 ----
        if(!isConstructor)
        {
!               DumpString(CSTypeToName(ILTypeGetReturn(signature)), stream);
                putc(' ', stream);
        }
***************
*** 799,803 ****
                methodName = ConvertOperatorNames(method);
        }
!       fputs(methodName, stream);
        putc('(', stream);
        num = ILTypeNumParams(signature);
--- 880,884 ----
                methodName = ConvertOperatorNames(method);
        }
!       DumpString(methodName, stream);
        putc('(', stream);
        num = ILTypeNumParams(signature);
***************
*** 808,817 ****
                        fputs(", ", stream);
                }
!               fputs(CSTypeToName(ILTypeGetParam(signature, param)), stream);
                paramInfo = FindMethodParam(method, param);
                if(paramInfo)
                {
                        putc(' ', stream);
!                       fputs(ILParameter_Name(paramInfo), stream);
                }
        }
--- 889,898 ----
                        fputs(", ", stream);
                }
!               DumpString(CSTypeToName(ILTypeGetParam(signature, param)), 
stream);
                paramInfo = FindMethodParam(method, param);
                if(paramInfo)
                {
                        putc(' ', stream);
!                       DumpString(ILParameter_Name(paramInfo), stream);
                }
        }
***************
*** 840,845 ****
                fputs("<ReturnValue>\n", stream);
                Indent(stream, indent + 4);
!               fprintf(stream, "<ReturnType>%s</ReturnType>\n",
!                               CSTypeToName(returnType));
                Indent(stream, indent + 2);
                fputs("</ReturnValue>\n", stream);
--- 921,927 ----
                fputs("<ReturnValue>\n", stream);
                Indent(stream, indent + 4);
!               fputs("<ReturnType>", stream);
!               DumpString(CSTypeToName(returnType), stream);
!               fputs("</ReturnType>\n", stream);
                Indent(stream, indent + 2);
                fputs("</ReturnValue>\n", stream);
***************
*** 863,871 ****
                        {
                                fputs("Name=\"", stream);
!                               fputs(ILParameter_Name(paramInfo), stream);
                                fputs("\" ", stream);
                        }
                        fputs("Type=\"", stream);
!                       fputs(CSTypeToName(ILTypeGetParam(signature, param)), 
stream);
                        fputs("\"/>\n", stream);
                }
--- 945,953 ----
                        {
                                fputs("Name=\"", stream);
!                               DumpString(ILParameter_Name(paramInfo), stream);
                                fputs("\" ", stream);
                        }
                        fputs("Type=\"", stream);
!                       DumpString(CSTypeToName(ILTypeGetParam(signature, 
param)), stream);
                        fputs("\"/>\n", stream);
                }
***************
*** 926,930 ****
        Indent(stream, indent);
        fputs("<Member MemberName=\"", stream);
!       fputs(ILProperty_Name(property), stream);
        fputs("\">\n", stream);
  
--- 1008,1012 ----
        Indent(stream, indent);
        fputs("<Member MemberName=\"", stream);
!       DumpString(ILProperty_Name(property), stream);
        fputs("\">\n", stream);
  
***************
*** 944,948 ****
                                ILPropertyDefinitionFlags, 0);
        ILDumpMethodType(stream, ILProgramItem_Image(property), signature,
!                                0, 0, ILProperty_Name(property), getter);
        fputs(" { ", stream);
        if(getter)
--- 1026,1030 ----
                                ILPropertyDefinitionFlags, 0);
        ILDumpMethodType(stream, ILProgramItem_Image(property), signature,
!                                IL_DUMP_XML_QUOTING, 0, 
ILProperty_Name(property), getter);
        fputs(" { ", stream);
        if(getter)
***************
*** 952,956 ****
                methodSig = ILMethod_Signature(getter);
                ILDumpMethodType(stream, ILProgramItem_Image(getter), signature,
!                                        0, 0, ILMethod_Name(getter), getter);
                putc(' ', stream);
                ILDumpFlags(stream, ILMethod_ImplAttrs(getter),
--- 1034,1038 ----
                methodSig = ILMethod_Signature(getter);
                ILDumpMethodType(stream, ILProgramItem_Image(getter), signature,
!                                        IL_DUMP_XML_QUOTING, 0, 
ILMethod_Name(getter), getter);
                putc(' ', stream);
                ILDumpFlags(stream, ILMethod_ImplAttrs(getter),
***************
*** 963,967 ****
                methodSig = ILMethod_Signature(setter);
                ILDumpMethodType(stream, ILProgramItem_Image(setter), signature,
!                                        0, 0, ILMethod_Name(setter), setter);
                putc(' ', stream);
                ILDumpFlags(stream, ILMethod_ImplAttrs(setter),
--- 1045,1049 ----
                methodSig = ILMethod_Signature(setter);
                ILDumpMethodType(stream, ILProgramItem_Image(setter), signature,
!                                        IL_DUMP_XML_QUOTING, 0, 
ILMethod_Name(setter), setter);
                putc(' ', stream);
                ILDumpFlags(stream, ILMethod_ImplAttrs(setter),
***************
*** 974,978 ****
        fputs("<MemberSignature Language=\"C#\" Value=\"", stream);
        ILDumpFlags(stream, decl->modifiers, CSharpMethodFlags, 0);
!       fputs(CSTypeToName(ILTypeGetReturn(signature)), stream);
        putc(' ', stream);
        propertyName = ILProperty_Name(property);
--- 1056,1060 ----
        fputs("<MemberSignature Language=\"C#\" Value=\"", stream);
        ILDumpFlags(stream, decl->modifiers, CSharpMethodFlags, 0);
!       DumpString(CSTypeToName(ILTypeGetReturn(signature)), stream);
        putc(' ', stream);
        propertyName = ILProperty_Name(property);
***************
*** 989,998 ****
                        if(len > 5 && !strcmp(propertyName + len - 5, ".Item"))
                        {
!                               fwrite(propertyName, 1, len - 4, stream);
                                fputs("this", stream);
                        }
                        else
                        {
!                               fputs(propertyName, stream);
                        }
                }
--- 1071,1080 ----
                        if(len > 5 && !strcmp(propertyName + len - 5, ".Item"))
                        {
!                               DumpStringN(propertyName, len - 4, stream);
                                fputs("this", stream);
                        }
                        else
                        {
!                               DumpString(propertyName, stream);
                        }
                }
***************
*** 1000,1004 ****
        else
        {
!               fputs(propertyName, stream);
        }
        num = ILTypeNumParams(signature);
--- 1082,1086 ----
        else
        {
!               DumpString(propertyName, stream);
        }
        num = ILTypeNumParams(signature);
***************
*** 1012,1016 ****
                                fputs(", ", stream);
                        }
!                       fputs(CSTypeToName(ILTypeGetParam(signature, param)), 
stream);
                        if(getter || setter)
                        {
--- 1094,1098 ----
                                fputs(", ", stream);
                        }
!                       DumpString(CSTypeToName(ILTypeGetParam(signature, 
param)), stream);
                        if(getter || setter)
                        {
***************
*** 1019,1023 ****
                                {
                                        putc(' ', stream);
!                                       fputs(ILParameter_Name(paramInfo), 
stream);
                                }
                        }
--- 1101,1105 ----
                                {
                                        putc(' ', stream);
!                                       DumpString(ILParameter_Name(paramInfo), 
stream);
                                }
                        }
***************
*** 1050,1055 ****
                fputs("<ReturnValue>\n", stream);
                Indent(stream, indent + 4);
!               fprintf(stream, "<ReturnType>%s</ReturnType>\n",
!                               CSTypeToName(returnType));
                Indent(stream, indent + 2);
                fputs("</ReturnValue>\n", stream);
--- 1132,1138 ----
                fputs("<ReturnValue>\n", stream);
                Indent(stream, indent + 4);
!               fputs("<ReturnType>", stream);
!               DumpString(CSTypeToName(returnType), stream);
!               fputs("</ReturnType>\n", stream);
                Indent(stream, indent + 2);
                fputs("</ReturnValue>\n", stream);
***************
*** 1075,1084 ****
                                {
                                        fputs("Name=\"", stream);
!                                       fputs(ILParameter_Name(paramInfo), 
stream);
                                        fputs("\" ", stream);
                                }
                        }
                        fputs("Type=\"", stream);
!                       fputs(CSTypeToName(ILTypeGetParam(signature, param)), 
stream);
                        fputs("\"/>\n", stream);
                }
--- 1158,1167 ----
                                {
                                        fputs("Name=\"", stream);
!                                       DumpString(ILParameter_Name(paramInfo), 
stream);
                                        fputs("\" ", stream);
                                }
                        }
                        fputs("Type=\"", stream);
!                       DumpString(CSTypeToName(ILTypeGetParam(signature, 
param)), stream);
                        fputs("\"/>\n", stream);
                }
***************
*** 1136,1140 ****
                Indent(stream, indent);
                fputs("<Member MemberName=\"", stream);
!               fputs(ILEvent_Name(event), stream);
                fputs("\">\n", stream);
  
--- 1219,1223 ----
                Indent(stream, indent);
                fputs("<Member MemberName=\"", stream);
!               DumpString(ILEvent_Name(event), stream);
                fputs("\">\n", stream);
  
***************
*** 1144,1148 ****
                ILDumpFlags(stream, decl->modifiers, ILMethodDefinitionFlags, 
0);
                fputs("event ", stream);
!               fputs(ILEvent_Name(event), stream);
                /* TODO: add/remove methods */
                fputs("\"/>\n", stream);
--- 1227,1231 ----
                ILDumpFlags(stream, decl->modifiers, ILMethodDefinitionFlags, 
0);
                fputs("event ", stream);
!               DumpString(ILEvent_Name(event), stream);
                /* TODO: add/remove methods */
                fputs("\"/>\n", stream);
***************
*** 1152,1158 ****
                fputs("<MemberSignature Language=\"C#\" Value=\"", stream);
                ILDumpFlags(stream, decl->modifiers, CSharpMethodFlags, 0);
!               fputs(CSTypeToName(ILEvent_Type(event)), stream);
                putc(' ', stream);
!               fputs(ILEvent_Name(event), stream);
                /* TODO: add/remove methods */
                fputs("\"/>\n", stream);
--- 1235,1241 ----
                fputs("<MemberSignature Language=\"C#\" Value=\"", stream);
                ILDumpFlags(stream, decl->modifiers, CSharpMethodFlags, 0);
!               DumpString(CSTypeToName(ILEvent_Type(event)), stream);
                putc(' ', stream);
!               DumpString(ILEvent_Name(event), stream);
                /* TODO: add/remove methods */
                fputs("\"/>\n", stream);
***************
*** 1217,1221 ****
        /* Output the type header */
        Indent(stream, indent);
!       fprintf(stream, "<Type Name=\"%s\" FullName=\"", defn->name);
        DumpClassName(stream, classInfo);
        fputs("\" FullNameSP=\"", stream);
--- 1300,1306 ----
        /* Output the type header */
        Indent(stream, indent);
!       fputs("<Type Name=\"", stream);
!       DumpString(defn->name, stream);
!       fputs("\" FullName=\"", stream);
        DumpClassName(stream, classInfo);
        fputs("\" FullNameSP=\"", stream);
***************
*** 1228,1232 ****
        fputs("<TypeSignature Language=\"ILASM\" Value=\".class ", stream);
        ILDumpFlags(stream, ILClass_Attrs(classInfo), ILTypeDefinitionFlags, 0);
!       fputs(defn->name, stream);
        parent = ILClass_Parent(classInfo);
        if(parent)
--- 1313,1317 ----
        fputs("<TypeSignature Language=\"ILASM\" Value=\".class ", stream);
        ILDumpFlags(stream, ILClass_Attrs(classInfo), ILTypeDefinitionFlags, 0);
!       DumpString(defn->name, stream);
        parent = ILClass_Parent(classInfo);
        if(parent)
***************
*** 1289,1293 ****
                fputs("class ", stream);
        }
!       fputs(ILClass_Name(classInfo), stream);
        if(!isEnum && parent && !ILTypeIsObjectClass(ILClassToType(parent)))
        {
--- 1374,1378 ----
                fputs("class ", stream);
        }
!       DumpString(ILClass_Name(classInfo), stream);
        if(!isEnum && parent && !ILTypeIsObjectClass(ILClassToType(parent)))
        {





reply via email to

[Prev in Thread] Current Thread [Next in Thread]