diff options
author | Alexander Barkov <bar@mnogosearch.org> | 2013-02-07 13:34:27 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mnogosearch.org> | 2013-02-07 13:34:27 +0400 |
commit | 30c4b0ebc24fe0106e146b1f6577a4150e71e258 (patch) | |
tree | 592673d8c2f5b418833c3ee5fcfeb9dbf4ba1681 /storage/connect/plgxml.cpp | |
parent | 60c4cab3bd00621cc03afb1be6de01c8fab0c5f0 (diff) | |
download | mariadb-git-30c4b0ebc24fe0106e146b1f6577a4150e71e258.tar.gz |
- Fixing TAB to 2 spaces
- Fixing line endings from "\r\n" to "\n"
Diffstat (limited to 'storage/connect/plgxml.cpp')
-rw-r--r-- | storage/connect/plgxml.cpp | 280 |
1 files changed, 140 insertions, 140 deletions
diff --git a/storage/connect/plgxml.cpp b/storage/connect/plgxml.cpp index 2e03875eab7..3061a6d697e 100644 --- a/storage/connect/plgxml.cpp +++ b/storage/connect/plgxml.cpp @@ -1,140 +1,140 @@ -/******************************************************************/
-/* Implementation of XML document processing using PdbXML. */
-/* Author: Olivier Bertrand 2007-2012 */
-/******************************************************************/
-#include "my_global.h"
-#include "global.h"
-#include "plgdbsem.h"
-#include "block.h"
-#include "plgxml.h"
-
-#if !defined(DOMDOC_SUPPORT)
-PXDOC GetDomDoc(PGLOBAL g, char *nsl, char *nsdf,
- char *enc, PFBLOCK fp)
- {
- strcpy(g->Message, MSG(DOM_NOT_SUPP));
- return NULL;
- } // end of GetDomDoc
-#endif // !DOMDOC_SUPPORT
-
-#ifndef LIBXML2_SUPPORT
-PXDOC GetLibxmlDoc(PGLOBAL g, char *nsl, char *nsdf,
- char *enc, PFBLOCK fp)
- {
- strcpy(g->Message, "libxml2 not supported");
- return NULL;
- } // end of GetLibxmlDoc
-#endif // LIBXML2_SUPPORT
-
-/******************************************************************/
-/* XMLDOCUMENT constructor. */
-/******************************************************************/
-XMLDOCUMENT::XMLDOCUMENT(char *nsl, char *nsdf, char *enc)
- {
- Namespaces = NULL;
- Encoding = enc;
- Nslist = nsl;
- DefNs = nsdf;
- } // end of XMLDOCUMENT constructor
-
-/******************************************************************/
-/* Make the namespace structure list. */
-/******************************************************************/
-bool XMLDOCUMENT::MakeNSlist(PGLOBAL g)
- {
- char *prefix, *href, *next = Nslist;
- PNS nsp, *ppns = &Namespaces;
-
- while (next) {
- // Skip spaces
- while ((*next) == ' ')
- next++;
-
- if ((*next) == '\0')
- break;
-
- // Find prefix
- prefix = next;
- next = strchr(next, '=');
-
- if (next == NULL) {
- strcpy(g->Message, MSG(BAS_NS_LIST));
- return true;
- } // endif next
-
- *(next++) = '\0';
-
- // Find href
- href = next;
- next = strchr(next, ' ');
-
- if (next != NULL)
- *(next++) = '\0';
-
- // Allocate and link NS structure
- nsp = (PNS)PlugSubAlloc(g, NULL, sizeof(NS));
- nsp->Next = NULL;
- nsp->Prefix = prefix;
- nsp->Uri = href;
- *ppns = nsp;
- ppns = &nsp->Next;
- } // endwhile next
-
- return false;
- } // end of MakeNSlist
-
-/******************************************************************/
-/* XMLNODE constructor. */
-/******************************************************************/
-XMLNODE::XMLNODE(PXDOC dp)
- {
- Doc = dp;
- Next = NULL;
- Children = NULL;
- Buf = NULL;
- Len = -1;
- } // end of XMLNODE constructor
-
-/******************************************************************/
-/* Attach new node at the end of this node children list. */
-/******************************************************************/
-PXNODE XMLNODE::NewChild(PXNODE ncp)
-{
- PXNODE np, *pnp = &Children;
-
- for (np = *pnp; np; np = np->Next)
- pnp = &np->Next;
-
- *pnp = np;
- return ncp;
-} // end of NewChild
-
-/******************************************************************/
-/* Delete a node from this node children list. */
-/******************************************************************/
-void XMLNODE::Delete(PXNODE dnp)
- {
- PXNODE *pnp = &Children;
-
- for (PXNODE np = *pnp; np; np = np->Next)
- if (np == dnp) {
- *pnp = dnp->Next;
- break;
- } else
- pnp = &np->Next;
-
- } // end of Delete
-
-/******************************************************************/
-/* Store a string in Buf, enventually reallocating it. */
-/******************************************************************/
-char *XMLNODE::BufAlloc(PGLOBAL g, char *p, int n)
- {
- if (Len < n) {
- Len = n;
- Buf = (char*)PlugSubAlloc(g, NULL, n + 1);
- } // endif Len
-
- *Buf = '\0';
- return strncat(Buf, p, n);
- } // end of BufAlloc
+/******************************************************************/ +/* Implementation of XML document processing using PdbXML. */ +/* Author: Olivier Bertrand 2007-2012 */ +/******************************************************************/ +#include "my_global.h" +#include "global.h" +#include "plgdbsem.h" +#include "block.h" +#include "plgxml.h" + +#if !defined(DOMDOC_SUPPORT) +PXDOC GetDomDoc(PGLOBAL g, char *nsl, char *nsdf, + char *enc, PFBLOCK fp) + { + strcpy(g->Message, MSG(DOM_NOT_SUPP)); + return NULL; + } // end of GetDomDoc +#endif // !DOMDOC_SUPPORT + +#ifndef LIBXML2_SUPPORT +PXDOC GetLibxmlDoc(PGLOBAL g, char *nsl, char *nsdf, + char *enc, PFBLOCK fp) + { + strcpy(g->Message, "libxml2 not supported"); + return NULL; + } // end of GetLibxmlDoc +#endif // LIBXML2_SUPPORT + +/******************************************************************/ +/* XMLDOCUMENT constructor. */ +/******************************************************************/ +XMLDOCUMENT::XMLDOCUMENT(char *nsl, char *nsdf, char *enc) + { + Namespaces = NULL; + Encoding = enc; + Nslist = nsl; + DefNs = nsdf; + } // end of XMLDOCUMENT constructor + +/******************************************************************/ +/* Make the namespace structure list. */ +/******************************************************************/ +bool XMLDOCUMENT::MakeNSlist(PGLOBAL g) + { + char *prefix, *href, *next = Nslist; + PNS nsp, *ppns = &Namespaces; + + while (next) { + // Skip spaces + while ((*next) == ' ') + next++; + + if ((*next) == '\0') + break; + + // Find prefix + prefix = next; + next = strchr(next, '='); + + if (next == NULL) { + strcpy(g->Message, MSG(BAS_NS_LIST)); + return true; + } // endif next + + *(next++) = '\0'; + + // Find href + href = next; + next = strchr(next, ' '); + + if (next != NULL) + *(next++) = '\0'; + + // Allocate and link NS structure + nsp = (PNS)PlugSubAlloc(g, NULL, sizeof(NS)); + nsp->Next = NULL; + nsp->Prefix = prefix; + nsp->Uri = href; + *ppns = nsp; + ppns = &nsp->Next; + } // endwhile next + + return false; + } // end of MakeNSlist + +/******************************************************************/ +/* XMLNODE constructor. */ +/******************************************************************/ +XMLNODE::XMLNODE(PXDOC dp) + { + Doc = dp; + Next = NULL; + Children = NULL; + Buf = NULL; + Len = -1; + } // end of XMLNODE constructor + +/******************************************************************/ +/* Attach new node at the end of this node children list. */ +/******************************************************************/ +PXNODE XMLNODE::NewChild(PXNODE ncp) +{ + PXNODE np, *pnp = &Children; + + for (np = *pnp; np; np = np->Next) + pnp = &np->Next; + + *pnp = np; + return ncp; +} // end of NewChild + +/******************************************************************/ +/* Delete a node from this node children list. */ +/******************************************************************/ +void XMLNODE::Delete(PXNODE dnp) + { + PXNODE *pnp = &Children; + + for (PXNODE np = *pnp; np; np = np->Next) + if (np == dnp) { + *pnp = dnp->Next; + break; + } else + pnp = &np->Next; + + } // end of Delete + +/******************************************************************/ +/* Store a string in Buf, enventually reallocating it. */ +/******************************************************************/ +char *XMLNODE::BufAlloc(PGLOBAL g, char *p, int n) + { + if (Len < n) { + Len = n; + Buf = (char*)PlugSubAlloc(g, NULL, n + 1); + } // endif Len + + *Buf = '\0'; + return strncat(Buf, p, n); + } // end of BufAlloc |