📄 symbol2.c
字号:
strcat(soapClient, s); strcpy(pathsoapClient, dirpath); strcat(pathsoapClient, soapClient); strcpy(soapServer, base); strcat(soapServer, "Server"); strcat(soapServer, s); strcpy(pathsoapServer, dirpath); strcat(pathsoapServer, soapServer); strcpy(soapClientLib, base); strcat(soapClientLib, "ClientLib"); strcat(soapClientLib, s); strcpy(pathsoapClientLib, dirpath); strcat(pathsoapClientLib, soapClientLib); strcpy(soapServerLib, base); strcat(soapServerLib, "ServerLib"); strcat(soapServerLib, s); strcpy(pathsoapServerLib, dirpath); strcat(pathsoapServerLib, soapServerLib); if (mflag) { fprintf(fmsg, "Saving %s\n", pathsoapMatlab); fmatlab=fopen(pathsoapMatlab, "w"); if (!fmatlab) execerror("Cannot write to file"); copyrightnote(fmatlab, soapMatlab); fprintf(fmatlab,"\n#include \"%s\"\n", soapMatlabHdr); fprintf(fmsg, "Saving %s\n", pathsoapMatlabHdr); fmheader=fopen(pathsoapMatlabHdr, "w"); if (!fmheader) execerror("Cannot write to file"); copyrightnote(fmheader, soapMatlabHdr); fprintf(fmheader,"\n#include \"mex.h\"\n#include \"%s\"\n", soapStub); } fprintf(fmsg, "Saving %s\n", pathsoapStub); fheader=fopen(pathsoapStub, "w"); if (!fheader) execerror("Cannot write to file"); copyrightnote(fheader, soapStub); fprintf(fmsg, "Saving %s\n", pathsoapH); fhead=fopen(pathsoapH,"w"); if (!fhead) execerror("Cannot write to file"); copyrightnote(fhead, soapH); fprintf(fmsg, "Saving %s\n", pathsoapC); fout=fopen(pathsoapC,"w"); if (!fout) execerror("Cannot write to file"); copyrightnote(fout, soapC); if (!Sflag && !iflag) { fprintf(fmsg, "Saving %s\n", pathsoapClient); fclient=fopen(pathsoapClient,"w"); if (!fclient) execerror("Cannot write to file"); copyrightnote(fclient, soapClient); fprintf(fclient,"\n#include \"%sH.h\"", prefix); if (cflag) fprintf(fclient,"\n#ifdef __cplusplus\nextern \"C\" {\n#endif"); if (namespaceid) fprintf(fclient,"\n\nnamespace %s {", namespaceid); identify(fclient, soapClient); if (!Lflag) { flib=fopen(pathsoapClientLib,"w"); if (!flib) execerror("Cannot write to file"); copyrightnote(flib, soapClientLib); fprintf(fmsg, "Saving %s\n", pathsoapClientLib); fprintf(flib, "\n#ifndef WITH_NOGLOBAL\n#define WITH_NOGLOBAL\n#endif"); fprintf(flib, "\n#define SOAP_FMAC3 static"); fprintf(flib, "\n#include \"%s\"", soapC); fprintf(flib, "\n#include \"%s\"", soapClient); fprintf(flib, "\n\n/* End of %s */\n", soapClientLib); fclose(flib); } } if (!Cflag && !iflag) { fprintf(fmsg, "Saving %s\n", pathsoapServer); fserver=fopen(pathsoapServer,"w"); if (!fserver) execerror("Cannot write to file"); copyrightnote(fserver, soapServer); fprintf(fserver,"\n#include \"%sH.h\"", prefix); if (cflag) fprintf(fserver,"\n#ifdef __cplusplus\nextern \"C\" {\n#endif"); if (namespaceid) fprintf(fserver,"\n\nnamespace %s {", namespaceid); identify(fserver, soapServer); if (!Lflag) { flib=fopen(pathsoapServerLib,"w"); if (!flib) execerror("Cannot write to file"); copyrightnote(flib, soapServerLib); fprintf(fmsg, "Saving %s\n", pathsoapServerLib); fprintf(flib, "\n#ifndef WITH_NOGLOBAL\n#define WITH_NOGLOBAL\n#endif"); fprintf(flib, "\n#define SOAP_FMAC3 static"); fprintf(flib, "\n#include \"%s\"", soapC); fprintf(flib, "\n#include \"%s\"", soapServer); fprintf(flib, "\n\n/* End of %s */\n", soapServerLib); fclose(flib); } } fprintf(fhead,"\n\n#ifndef %sH_H\n#define %sH_H", prefix, prefix); fprintf(fhead,"\n#include \"%s\"", soapStub); if (cflag) fprintf(fhead,"\n#ifdef __cplusplus\nextern \"C\" {\n#endif"); if (namespaceid) fprintf(fhead,"\n\nnamespace %s {", namespaceid); fprintf(fheader,"\n\n#ifndef %sStub_H\n#define %sStub_H", prefix, prefix); for (pragma = pragmas; pragma; pragma = pragma->next) fprintf(fheader,"\n%s", pragma->pragma); if (nflag) fprintf(fheader,"\n#ifndef WITH_NONAMESPACES\n#define WITH_NONAMESPACES\n#endif"); if (namespaceid) { fprintf(fheader,"\n#ifndef WITH_NOGLOBAL\n#define WITH_NOGLOBAL\n#endif"); } fprintf(fheader,"\n#include \"stdsoap2.h\""); if (cflag) fprintf(fheader,"\n#ifdef __cplusplus\nextern \"C\" {\n#endif"); if (namespaceid) fprintf(fheader,"\n\nnamespace %s {", namespaceid); generate_header(table); generate_schema(table); fprintf(fout,"\n\n#include \"%sH.h\"", prefix); if (cflag) fprintf(fout,"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif"); if (namespaceid) fprintf(fout,"\n\nnamespace %s {", namespaceid); identify(fout, soapC); if (!iflag) soap_serve(table); fprintf(fhead, "\n#ifndef WITH_NOIDREF"); if (!cflag && !namespaceid) fprintf(fhead,"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif"); fprintf(fhead, "\nSOAP_FMAC3 void SOAP_FMAC4 soap_markelement(struct soap*, const void*, int);"); fprintf(fhead, "\nSOAP_FMAC3 int SOAP_FMAC4 soap_putelement(struct soap*, const void*, const char*, int, int);"); fprintf(fhead, "\nSOAP_FMAC3 void *SOAP_FMAC4 soap_getelement(struct soap*, int*);"); if (!cflag && !namespaceid) fprintf(fhead,"\n\n#ifdef __cplusplus\n}\n#endif"); fprintf(fhead, "\nSOAP_FMAC3 int SOAP_FMAC4 soap_putindependent(struct soap*);"); fprintf(fhead, "\nSOAP_FMAC3 int SOAP_FMAC4 soap_getindependent(struct soap*);"); fprintf(fhead, "\n#endif"); fprintf(fhead, "\nSOAP_FMAC3 int SOAP_FMAC4 soap_ignore_element(struct soap*);"); if (!lflag) { fprintf(fout,"\n\n#ifndef WITH_NOGLOBAL"); if (entry(classtable, lookup("SOAP_ENV__Header"))->info.typ->type == Tstruct) fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_serializeheader(struct soap *soap)\n{\n\tif (soap->header)\n\t\tsoap_serialize_SOAP_ENV__Header(soap, soap->header);\n}"); else fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_serializeheader(struct soap *soap)\n{\n\tif (soap->header)\n\t\tsoap->header->soap_serialize(soap);\n}"); fprintf(fout,"\n\nSOAP_FMAC3 int SOAP_FMAC4 soap_putheader(struct soap *soap)\n{\n\tif (soap->header)\n\t{\tsoap->part = SOAP_IN_HEADER;\n\t\tif (soap_out_SOAP_ENV__Header(soap, \"SOAP-ENV:Header\", 0, soap->header, NULL))\n\t\t\treturn soap->error;\n\t\tsoap->part = SOAP_END_HEADER;\n\t}\n\treturn SOAP_OK;\n}"); fprintf(fout,"\n\nSOAP_FMAC3 int SOAP_FMAC4 soap_getheader(struct soap *soap)\n{\n\tsoap->part = SOAP_IN_HEADER;\n\tsoap->header = soap_in_SOAP_ENV__Header(soap, \"SOAP-ENV:Header\", NULL, NULL);\n\tsoap->part = SOAP_END_HEADER;\n\treturn soap->header == NULL;\n}"); if (cflag) { fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_header(struct soap *soap)\n{\n\tif (!soap->header)\n\t{\tsoap->header = (struct SOAP_ENV__Header*)soap_malloc(soap, sizeof(struct SOAP_ENV__Header));\n\t\tsoap_default_SOAP_ENV__Header(soap, soap->header);\n\t}\n}"); } else if ((p = entry(classtable, lookup("SOAP_ENV__Fault")))->info.typ->type == Tstruct) { fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_header(struct soap *soap)\n{\n\tif (!soap->header)\n\t{\tsoap->header = soap_new_SOAP_ENV__Header(soap, -1);\n\t\tsoap_default_SOAP_ENV__Header(soap, soap->header);\n\t}\n}"); } else { fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_header(struct soap *soap)\n{\n\tif (!soap->header)\n\t{\tsoap->header = soap_new_SOAP_ENV__Header(soap, -1);\n\t\tsoap->header->soap_default(soap);\n\t}\n}"); } if (cflag) { fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_fault(struct soap *soap)\n{\n\tif (!soap->fault)\n\t{\tsoap->fault = (struct SOAP_ENV__Fault*)soap_malloc(soap, sizeof(struct SOAP_ENV__Fault));\n\t\tsoap_default_SOAP_ENV__Fault(soap, soap->fault);\n\t}\n\tif (soap->version == 2 && !soap->fault->SOAP_ENV__Code)\n\t{\tsoap->fault->SOAP_ENV__Code = (struct SOAP_ENV__Code*)soap_malloc(soap, sizeof(struct SOAP_ENV__Code));\n\t\tsoap_default_SOAP_ENV__Code(soap, soap->fault->SOAP_ENV__Code);\n\t}\n\tif (soap->version == 2 && !soap->fault->SOAP_ENV__Reason)\n\t{\tsoap->fault->SOAP_ENV__Reason = (struct SOAP_ENV__Reason*)soap_malloc(soap, sizeof(struct SOAP_ENV__Reason));\n\t\tsoap_default_SOAP_ENV__Reason(soap, soap->fault->SOAP_ENV__Reason);\n\t}\n}"); fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_serializefault(struct soap *soap)\n{\n\tif (soap->fault)\n\t\tsoap_serialize_SOAP_ENV__Fault(soap, soap->fault);\n}"); } else if ((p = entry(classtable, lookup("SOAP_ENV__Fault")))->info.typ->type == Tstruct) { fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_fault(struct soap *soap)\n{\n\tif (!soap->fault)\n\t{\tsoap->fault = soap_new_SOAP_ENV__Fault(soap, -1);\n\t\tsoap_default_SOAP_ENV__Fault(soap, soap->fault);\n\t}\n\tif (soap->version == 2 && !soap->fault->SOAP_ENV__Code)\n\t{\tsoap->fault->SOAP_ENV__Code = soap_new_SOAP_ENV__Code(soap, -1);\n\t\tsoap_default_SOAP_ENV__Code(soap, soap->fault->SOAP_ENV__Code);\n\t}\n\tif (soap->version == 2 && !soap->fault->SOAP_ENV__Reason)\n\t{\tsoap->fault->SOAP_ENV__Reason = soap_new_SOAP_ENV__Reason(soap, -1);\n\t\tsoap_default_SOAP_ENV__Reason(soap, soap->fault->SOAP_ENV__Reason);\n\t}\n}"); fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_serializefault(struct soap *soap)\n{\n\tsoap_fault(soap);\n\tif (soap->fault)\n\t\tsoap_serialize_SOAP_ENV__Fault(soap, soap->fault);\n}"); } else { fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_fault(struct soap *soap)\n{\n\tif (!soap->fault)\n\t{\tsoap->fault = soap_new_SOAP_ENV__Fault(soap, -1);\n\t\tsoap->fault->soap_default(soap);\n\t}\n\tif (soap->version == 2 && !soap->fault->SOAP_ENV__Code)\n\t{\tsoap->fault->SOAP_ENV__Code = soap_new_SOAP_ENV__Code(soap, -1);\n\t\tsoap_default_SOAP_ENV__Code(soap, soap->fault->SOAP_ENV__Code);\n\t}\n\tif (soap->version == 2 && !soap->fault->SOAP_ENV__Reason)\n\t{\tsoap->fault->SOAP_ENV__Reason = soap_new_SOAP_ENV__Reason(soap, -1);\n\t\tsoap_default_SOAP_ENV__Reason(soap, soap->fault->SOAP_ENV__Reason);\n\t}\n}"); fprintf(fout,"\n\nSOAP_FMAC3 void SOAP_FMAC4 soap_serializefault(struct soap *soap)\n{\n\tsoap_fault(soap);\n\tif (soap->fault)\n\t\tsoap->fault->soap_serialize(soap);\n}"); } if ((p = entry(classtable, lookup("SOAP_ENV__Fault")))->info.typ->type == Tstruct) { fprintf(fout,"\n\nSOAP_FMAC3 int SOAP_FMAC4 soap_putfault(struct soap *soap)\n{\n\tif (soap->fault)\n\t\treturn soap_put_SOAP_ENV__Fault(soap, soap->fault, \"SOAP-ENV:Fault\", NULL);\n\treturn SOAP_OK;\n}"); fprintf(fout,"\n\nSOAP_FMAC3 int SOAP_FMAC4 soap_getfault(struct soap *soap)\n{\n\treturn (soap->fault = soap_get_SOAP_ENV__Fault(soap, NULL, \"SOAP-ENV:Fault\", NULL)) == NULL;\n}"); } else { fprintf(fout,"\n\nSOAP_FMAC3 int SOAP_FMAC4 soap_putfault(struct soap *soap)\n{\n\tsoap_fault(soap);\n\tif (soap->fault)\n\t\treturn soap->fault->soap_put(soap, \"SOAP-ENV:Fault\", NULL);\n\treturn SOAP_EOM;\n}"); fprintf(fout,"\n\nSOAP_FMAC3 int SOAP_FMAC4 soap_getfault(struct soap *soap)\n{\n\tsoap_fault(soap);\n\tif (soap->fault)\n\t\treturn soap->fault->soap_get(soap, \"SOAP-ENV:Fault\", NULL) == NULL;\n\treturn SOAP_EOM;\n}"); } fprintf(fout,"\n\nSOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultcode(struct soap *soap)\n{\n\tsoap_fault(soap);\n\tif (soap->version == 2)\n\t\treturn (const char**)&soap->fault->SOAP_ENV__Code->SOAP_ENV__Value;\n\treturn (const char**)&soap->fault->faultcode;\n}"); if (cflag) fprintf(fout,"\n\nSOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultsubcode(struct soap *soap)\n{\n\tsoap_fault(soap);\n\tif (soap->version == 2)\n\t{\tif (!soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode)\n\t\t{\tsoap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode = (struct SOAP_ENV__Code*)soap_malloc(soap, sizeof(struct SOAP_ENV__Code));\n\t\t\tsoap_default_SOAP_ENV__Code(soap, soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode);\n\t\t}\n\t\treturn (const char**)&soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode->SOAP_ENV__Value;\n\t}\n\treturn (const char**)&soap->fault->faultcode;\n}"); else fprintf(fout,"\n\nSOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultsubcode(struct soap *soap)\n{\n\tsoap_fault(soap);\n\tif (soap->version == 2)\n\t{\tif (!soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode)\n\t\t{\tsoap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode = soap_new_SOAP_ENV__Code(soap, -1);\n\t\t\tsoap_default_SOAP_ENV__Code(soap, soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode);\n\t\t}\n\t\treturn (const char**)&soap->fault->SOAP_ENV__Code->SOAP_ENV__Subcode->SOAP_ENV__Value;\n\t}\n\treturn (const char**)&soap->fault->faultcode;\n}"); fprintf(fout,"\n\nSOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultstring(struct soap *soap)\n{\n\tsoap_fault(soap);\n\tif (soap->version == 2)\n\t\treturn (const char**)&soap->fault->SOAP_ENV__Reason->SOAP_ENV__Text;\n\treturn (const char**)&soap->fault->faultstring;\n}"); fprintf(fout,"\n\nSOAP_FMAC3 const char ** SOAP_FMAC4 soap_faultdetail(struct soap *soap)\n{\n\tsoap_fault(soap);"); if (has_detail_string()) fprintf(fout,"\n\tif (soap->version == 1)\n\t{\tif (!soap->fault->detail)\n\t\t{\tsoap->fault->detail = (struct SOAP_ENV__Detail*)soap_malloc(soap, sizeof(struct SOAP_ENV__Detail));\n\t\t\tsoap_default_SOAP_ENV__Detail(soap, soap->fault->detail);\n\t\t}\n\t\treturn (const char**)&soap->fault->detail->__any;\n\t}"); if (has_Detail_string()) { if (cflag) fprintf(fout,"\n\tif (!soap->fault->SOAP_ENV__Detail)\n\t{\tsoap->fault->SOAP_ENV__Detail = (struct SOAP_ENV__Detail*)soap_malloc(soap, sizeof(struct SOAP_ENV__Detail));\n\t\tsoap_default_SOAP_ENV__Detail(soap, soap->fault->SOAP_ENV__Detail);\n\t}\n\treturn (const char**)&soap->fault->SOAP_ENV__Detail->__any;\n}"); else fprintf(fout,"\n\tif (!soap->fault->SOAP_ENV__Detail)\n\t{\tsoap->fault->SOAP_ENV__Detail = soap_new_SOAP_ENV__Detail(soap, -1);\n\t\tsoap_default_SOAP_ENV__Detail(soap, soap->fault->SOAP_ENV__Detail);\n\t}\n\treturn (const char**)&soap->fault->SOAP_ENV__Detail->__any;\n}"); } if (!has_detail_string() && !has_Detail_string()) fprintf(fout,"\n\treturn NULL;\n}"); fprintf(fout,"\n\n#endif"); fprintf(fout,"\n\n#ifndef WITH_NOIDREF"); fprintf(fout,"\nSOAP_FMAC3 int SOAP_FMAC4 soap_getindependent(struct soap *soap)\n{"); fprintf(fout,"\n\tint t;\n\tfor (;;)"); fprintf(fout,"\n\t\tif (!soap_getelement(soap, &t))"); fprintf(fout,"\n\t\t\tif (soap->error || soap_ignore_element(soap))\n\t\t\t\tbreak;"); fprintf(fout,"\n\tif (soap->error == SOAP_NO_TAG || soap->error == SOAP_EOF)"); fprintf(fout,"\n\t\tsoap->error = SOAP_OK;"); fprintf(fout,"\n\treturn soap->error;"); fprintf(fout,"\n}\n#endif"); fprintf(fout,"\n\n#ifndef WITH_NOIDREF"); if (!cflag && !namespaceid) fprintf(fout,"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif"); fprintf(fout,"\nSOAP_FMAC3 void * SOAP_FMAC4 soap_getelement(struct soap *soap, int *type)\n{"); fprintf(fout,"\n\tif (soap_peek_element(soap))\n\t\treturn NULL;"); fprintf(fout,"\n\tif (!*soap->id || !(*type = soap_lookup_type(soap, soap->id)))\n\t\t*type = soap_lookup_type(soap, soap->href);"); fprintf(fout,"\n\tswitch (*type)\n\t{"); DBGLOG(fprintf(stderr,"\n Calling in_defs( ).")); fflush(fout); in_defs(table); DBGLOG(fprintf(stderr,"\n Completed in_defs( ).")); fprintf(fout,"\n\tdefault:\n\t{\tconst char *t = soap->type;\n\t\tif (!*t)\n\t\t\tt = soap->tag;"); fflush(fout); in_defs2(table); fprintf(fout,"\n\t\tt = soap->tag;"); in_defs3(table); fprintf(fout,"\n\t}\n\t}\n\tsoap->error = SOAP_TAG_MISMATCH;\n\treturn NULL;\n}"); if (!cflag && !namespaceid) fprintf(fout,"\n\n#ifdef __cplusplus\n}\n#endif"); fprintf(fout,"\n#endif"); fprintf(fout,"\n\nSOAP_FMAC3 int SOAP_FMAC4 soap_ignore_element(struct soap *soap)\n{"); fprintf(fout,"\n\tif (!soap_peek_element(soap))"); fprintf(fout,"\n\t{\tint t;"); fprintf(fout,"\n\t\tif (soap->mustUnderstand && !soap->other)"); fprintf(fout,"\n\t\t\treturn soap->error = SOAP_MUSTUNDERSTAND;"); fprintf(fout,"\n\t\tif (((soap->mode & SOAP_XML_STRICT) && soap->part != SOAP_IN_HEADER) || !soap_match_tag(soap, soap->tag, \"SOAP-ENV:\"))\n\t\t{\tDBGLOG(TEST, SOAP_MESSAGE(fdebug, \"REJECTING element '%%s'\\n\", soap->tag));\n\t\t\treturn soap->error = SOAP_TAG_MISMATCH;\n\t\t}"); fprintf(fout,"\n\t\tif (!*soap->id || !soap_getelement(soap, &t))"); fprintf(fout,"\n\t\t{\tsoap->peeked = 0;"); fprintf(fout,"\n\t\t\tDBGLOG(TEST, SOAP_MESSAGE(fdebug, \"Unknown element '%%s' (level=%%u, %%d)\\n\", soap->tag, soap->level, soap->body));"); fprintf(fout,"\n\t\t\tif (soap->fignore)\n\t\t\t\tsoap->error = soap->fignore(soap, soap->tag);\n\t\t\telse\n\t\t\t\tsoap->error = SOAP_OK;"); fprintf(fout,"\n\t\t\tDBGLOG(TEST, if (!soap->error) SOAP_MESSAGE(fdebug, \"IGNORING element '%%s'\\n\", soap->tag));"); fprintf(fout,"\n\t\t\tif (!soap->error && soap->body)"); fprintf(fout,"\n\t\t\t{\tsoap->level++;"); fprintf(fout,"\n\t\t\t\twhile (!soap_ignore_element(soap))"); fprintf(fout,"\n\t\t\t\t\t;"); fprintf(fout,"\n\t\t\t\tif (soap->error == SOAP_NO_TAG)"); fprintf(fout,"\n\t\t\t\t\tsoap->error = soap_element_end_in(soap, NULL);"); fprintf(fout,"\n\t\t\t}"); fprintf(fout,"\n\t\t}"); fprintf(fout,"\n\t}"); fprintf(fout,"\n\treturn soap->error;"); fprintf(fout,"\n}"); fprintf(fout,"\n\n#ifndef WITH_NOIDREF"); fprintf(fout,"\nSOAP_FMAC3 int SOAP_FMAC4 soap_putindependent(struct soap *soap)\n{\n\tint i;\n\tstruct soap_plist *pp;"); fprintf(fout,"\n\tif (soap->version == 1 && soap->encodingStyle && !(soap->mode & (SOAP_XML_TREE | SOAP_XML_GRAPH)))"); fprintf(fout,"\n\t\tfor (i = 0; i < SOAP_PTRHASH; i++)"); fprintf(fout,"\n\t\t\tfor (pp = soap->pht[i]; pp; pp = pp->next)"); fprintf(fout,"\n\t\t\t\tif (pp->mark1 == 2 || pp->mark2 == 2)"); fprintf(fout,"\n\t\t\t\t\tif (soap_putelement(soap, pp->ptr, \"id\", pp->id, pp->type))\n\t\t\t\t\t\treturn soap->error;"); fprintf(fout,"\n\treturn SOAP_OK;\n}\n#endif"); fprintf(fout,"\n\n#ifndef WITH_NOIDREF"); if (!cflag && !namespaceid) fprintf(fout,"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif"); fprintf(fout,"\nSOAP_FMAC3 int SOAP_FMAC4 soap_putelement(struct soap *soap, const void *ptr, const char *tag, int id, int type)\n{"); fprintf(fout,"\n\tswitch (type)\n\t{"); fflush(fout); out_defs(table); fprintf(fout,"\n\t}\n\treturn SOAP_OK;\n}"); if (!cflag && !namespaceid) fprintf(fout,"\n\n#ifdef __cplusplus\n}\n#endif"); fprintf(fout,"\n#endif"); fprintf(fout,"\n\n#ifndef WITH_NOIDREF"); if (!cflag && !namespaceid) fprintf(fout,"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif"); if (is_anytype_flag) { fprintf(fout,"\nSOAP_FMAC3 void SOAP_FMAC4 soap_markelement(struct soap *soap, const void *ptr, int type)\n{"); fprintf(fout,"\n\t(void)soap; (void)ptr; (void)type; /* appease -Wall -Werror */"); fprintf(fout,"\n\tswitch (type)\n\t{"); fflush(fout); mark_defs(table); fprintf(fout,"\n\t}\n}"); } else { fprintf(fout,"\nSOAP_FMAC3 void SOAP_FMAC4 soap_markelement(struct soap *soap, const void *ptr, int type)\n{"); fprintf(fout,"\n\t(void)soap; (void)ptr; (void)type; /* appease -Wall -Werror */"); fprintf(fout,"\n}"); } if (!cflag && !namespaceid) fprintf(fout,"\n\n#ifdef __cplusplus\n}\n#endif"); fprintf(fout,"\n#endif"); } classflag = 0; for (p = classtable->list; p; p = p->next) if (p->info.typ->type == Tclass && p->info.typ->transient <= 0) { classflag = 1; break; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -