OSSP CVS Repository

ossp - Check-in [577]
Not logged in
[Honeypot]  [Browse]  [Home]  [Login]  [Reports
[Search]  [Ticket]  [Timeline
  [Patchset]  [Tagging/Branching

Check-in Number: 577
Date: 2001-Jul-31 17:27:45 (local)
2001-Jul-31 15:27:45 (UTC)
User:simons
Branch:
Comment: Implemented xml_encode_begin(), xml_decode_begin(), xml_encode_end(), and xml_decode_end().
Tickets:
Inspections:
Files:
ossp-pkg/xds/Makefile.in      1.10 -> 1.11     3 inserted, 1 deleted
ossp-pkg/xds/internal.h      added-> 1.7
ossp-pkg/xds/xds.h.in      1.5 -> 1.6     5 inserted, 0 deleted
ossp-pkg/xds/xml-decode-begin.c      added-> 1.1
ossp-pkg/xds/xml-decode-end.c      added-> 1.1
ossp-pkg/xds/xml-encode-begin.c      added-> 1.1
ossp-pkg/xds/xml-encode-end.c      added-> 1.1

ossp-pkg/xds/Makefile.in 1.10 -> 1.11

--- Makefile.in  2001/07/24 14:55:56     1.10
+++ Makefile.in  2001/07/31 15:27:45     1.11
@@ -18,7 +18,9 @@
                   xdr-decode-double.o xml-encode-int32.o xml-decode-int32.o \
                   xml-decode-int64.o xml-decode-uint32.o xml-decode-uint64.o \
                   xml-encode-int64.o xml-encode-uint32.o xml-encode-uint64.o \
-                  xml-encode-double.o xml-decode-double.o
+                  xml-encode-double.o xml-decode-double.o \
+                  xml-encode-begin.o xml-decode-begin.o \
+                  xml-encode-end.o xml-decode-end.o
 
 .c.o:
         $(CC) $(CPPFLAGS) $(WARNFLAGS) $(OPTFLAGS) $(CFLAGS) -c $<


ossp-pkg/xds/internal.h -> 1.7

*** /dev/null    Sat Nov 23 00:53:10 2024
--- -    Sat Nov 23 00:53:20 2024
***************
*** 0 ****
--- 1,69 ----
+ /*
+    XDS - OSSP Extensible Data Serialization Library
+    Copyright (c) 2001 The OSSP Project (http://www.ossp.org/)
+    Copyright (c) 2001 Cable & Wireless Deutschland (http://www.cw.com/de/)
+ 
+    This file is part of OSSP XDS, an extensible data serialization
+    library which can be found at http://www.ossp.com/pkg/xds/.
+ 
+    Permission to use, copy, modify, and distribute this software for
+    any purpose with or without fee is hereby granted, provided that
+    the above copyright notice and this permission notice appear in all
+    copies.
+ 
+    THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+    WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+    MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+    IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+    CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+    USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+    ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+    OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+    OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+    SUCH DAMAGE.
+ 
+    internal.h: internal C API
+ */
+ 
+ #ifndef __INTERNAL_H__
+ #define __INTERNAL_H__
+ 
+ #include "xds.h"
+ 
+ #define XDS_TRUE (1==1)
+ #define XDS_FALSE (1!=1)
+ 
+ #define XDS_INITIAL_BUFFER_CAPACITY  512
+ #define XDS_INITIAL_ENGINES_CAPACITY  32
+ 
+ typedef struct
+     {
+     char*        name;
+     xds_engine_t engine;
+     void*        context;
+     }
+ engine_map_t;
+ 
+ struct xds_context
+     {
+     xds_mode_t mode;
+ 
+     char*  buffer;
+     size_t buffer_len;
+     size_t buffer_capacity;
+     int    we_own_buffer;
+ 
+     engine_map_t* engines;
+     size_t        engines_len;
+     size_t        engines_capacity;
+     };
+ 
+ int xds_find_engine(const engine_map_t* engines, size_t last, const char* name, size_t* pos);
+ int xds_set_capacity(void** array, size_t* array_capacity, size_t new_capacity, size_t elem_size, size_t initial_capacity);
+ 
+ extern const char xds_xml_begin_text[];
+ extern const char xds_xml_end_text[];
+ 
+ #endif /* !defined(__INTERNAL_H__) */


ossp-pkg/xds/xds.h.in 1.5 -> 1.6

--- xds.h.in     2001/07/23 16:33:03     1.5
+++ xds.h.in     2001/07/31 15:27:45     1.6
@@ -116,4 +116,9 @@
 int xml_encode_double(xds_t* xds, void* engine_context, void* buffer, size_t buffer_size, va_list* args);
 int xml_decode_double(xds_t* xds, void* engine_context, void* buffer, size_t buffer_size, va_list* args);
 
+int xml_encode_begin(xds_t* xds, void* engine_context, void* buffer, size_t buffer_size, va_list* args);
+int xml_decode_begin(xds_t* xds, void* engine_context, void* buffer, size_t buffer_size, va_list* args);
+int xml_encode_end(xds_t* xds, void* engine_context, void* buffer, size_t buffer_size, va_list* args);
+int xml_decode_end(xds_t* xds, void* engine_context, void* buffer, size_t buffer_size, va_list* args);
+
 #endif /* !defined(__LIBXDS_H__) */


ossp-pkg/xds/xml-decode-begin.c -> 1.1

*** /dev/null    Sat Nov 23 00:53:10 2024
--- -    Sat Nov 23 00:53:20 2024
***************
*** 0 ****
--- 1,50 ----
+ /*
+    XDS - OSSP Extensible Data Serialization Library
+    Copyright (c) 2001 The OSSP Project (http://www.ossp.org/)
+    Copyright (c) 2001 Cable & Wireless Deutschland (http://www.cw.com/de/)
+ 
+    This file is part of OSSP XDS, an extensible data serialization
+    library which can be found at http://www.ossp.com/pkg/xds/.
+ 
+    Permission to use, copy, modify, and distribute this software for
+    any purpose with or without fee is hereby granted, provided that
+    the above copyright notice and this permission notice appear in all
+    copies.
+ 
+    THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+    WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+    MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+    IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+    CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+    USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+    ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+    OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+    OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+    SUCH DAMAGE.
+ */
+ 
+ #include <string.h>
+ #include <assert.h>
+ #include "internal.h"
+ 
+ int xml_decode_begin(xds_t* xds, void* engine_context, void* buffer, size_t buffer_size, va_list* args)
+     {
+     /* Consistency checks. */
+ 
+     assert(xds != NULL);
+     assert(buffer != NULL);
+     assert(buffer_size != 0);
+     assert(args != NULL);
+     if (xds == NULL || buffer == NULL || buffer_size == 0 || args == NULL)
+        return XDS_ERR_INVALID_ARG;
+ 
+     if (buffer_size < strlen(xds_xml_begin_text))
+        return XDS_ERR_UNDERFLOW;
+ 
+     if (strncasecmp(buffer, xds_xml_begin_text, strlen(xds_xml_begin_text)) != 0)
+        return XDS_ERR_TYPE_MISMATCH;
+ 
+     return strlen(xds_xml_begin_text);
+     }


ossp-pkg/xds/xml-decode-end.c -> 1.1

*** /dev/null    Sat Nov 23 00:53:10 2024
--- -    Sat Nov 23 00:53:20 2024
***************
*** 0 ****
--- 1,50 ----
+ /*
+    XDS - OSSP Extensible Data Serialization Library
+    Copyright (c) 2001 The OSSP Project (http://www.ossp.org/)
+    Copyright (c) 2001 Cable & Wireless Deutschland (http://www.cw.com/de/)
+ 
+    This file is part of OSSP XDS, an extensible data serialization
+    library which can be found at http://www.ossp.com/pkg/xds/.
+ 
+    Permission to use, copy, modify, and distribute this software for
+    any purpose with or without fee is hereby granted, provided that
+    the above copyright notice and this permission notice appear in all
+    copies.
+ 
+    THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+    WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+    MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+    IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+    CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+    USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+    ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+    OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+    OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+    SUCH DAMAGE.
+ */
+ 
+ #include <string.h>
+ #include <assert.h>
+ #include "internal.h"
+ 
+ int xml_decode_end(xds_t* xds, void* engine_context, void* buffer, size_t buffer_size, va_list* args)
+     {
+     /* Consistency checks. */
+ 
+     assert(xds != NULL);
+     assert(buffer != NULL);
+     assert(buffer_size != 0);
+     assert(args != NULL);
+     if (xds == NULL || buffer == NULL || buffer_size == 0 || args == NULL)
+        return XDS_ERR_INVALID_ARG;
+ 
+     if (buffer_size < strlen(xds_xml_end_text))
+        return XDS_ERR_UNDERFLOW;
+ 
+     if (strncasecmp(buffer, xds_xml_end_text, strlen(xds_xml_end_text)) != 0)
+        return XDS_ERR_TYPE_MISMATCH;
+ 
+     return strlen(xds_xml_end_text);
+     }


ossp-pkg/xds/xml-encode-begin.c -> 1.1

*** /dev/null    Sat Nov 23 00:53:10 2024
--- -    Sat Nov 23 00:53:20 2024
***************
*** 0 ****
--- 1,52 ----
+ /*
+    XDS - OSSP Extensible Data Serialization Library
+    Copyright (c) 2001 The OSSP Project (http://www.ossp.org/)
+    Copyright (c) 2001 Cable & Wireless Deutschland (http://www.cw.com/de/)
+ 
+    This file is part of OSSP XDS, an extensible data serialization
+    library which can be found at http://www.ossp.com/pkg/xds/.
+ 
+    Permission to use, copy, modify, and distribute this software for
+    any purpose with or without fee is hereby granted, provided that
+    the above copyright notice and this permission notice appear in all
+    copies.
+ 
+    THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+    WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+    MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+    IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+    CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+    USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+    ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+    OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+    OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+    SUCH DAMAGE.
+ */
+ 
+ #include <string.h>
+ #include <assert.h>
+ #include "internal.h"
+ 
+ const char xds_xml_begin_text[] = \
+     "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\">\n" \
+     "<!DOCTYPE xds SYSTEM \"http://www.ossp.org/pkg/xds/xds-xml.dtd\">\n" \
+     "<xds>\n";
+ 
+ int xml_encode_begin(xds_t* xds, void* engine_context, void* buffer, size_t buffer_size, va_list* args)
+     {
+     /* Consistency checks. */
+ 
+     assert(xds != NULL);
+     assert(buffer != NULL);
+     assert(buffer_size != 0);
+     assert(args != NULL);
+     if (xds == NULL || buffer == NULL || buffer_size == 0 || args == NULL)
+        return XDS_ERR_INVALID_ARG;
+ 
+     if (buffer_size >= strlen(xds_xml_begin_text))
+        memmove(buffer, xds_xml_begin_text, strlen(xds_xml_begin_text));
+ 
+     return strlen(xds_xml_begin_text);
+     }


ossp-pkg/xds/xml-encode-end.c -> 1.1

*** /dev/null    Sat Nov 23 00:53:10 2024
--- -    Sat Nov 23 00:53:20 2024
***************
*** 0 ****
--- 1,49 ----
+ /*
+    XDS - OSSP Extensible Data Serialization Library
+    Copyright (c) 2001 The OSSP Project (http://www.ossp.org/)
+    Copyright (c) 2001 Cable & Wireless Deutschland (http://www.cw.com/de/)
+ 
+    This file is part of OSSP XDS, an extensible data serialization
+    library which can be found at http://www.ossp.com/pkg/xds/.
+ 
+    Permission to use, copy, modify, and distribute this software for
+    any purpose with or without fee is hereby granted, provided that
+    the above copyright notice and this permission notice appear in all
+    copies.
+ 
+    THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+    WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+    MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+    IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+    CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+    USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+    ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+    OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+    OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+    SUCH DAMAGE.
+ */
+ 
+ #include <string.h>
+ #include <assert.h>
+ #include "internal.h"
+ 
+ const char xds_xml_end_text[] = "</xds>\n";
+ 
+ int xml_encode_end(xds_t* xds, void* engine_context, void* buffer, size_t buffer_size, va_list* args)
+     {
+     /* Consistency checks. */
+ 
+     assert(xds != NULL);
+     assert(buffer != NULL);
+     assert(buffer_size != 0);
+     assert(args != NULL);
+     if (xds == NULL || buffer == NULL || buffer_size == 0 || args == NULL)
+        return XDS_ERR_INVALID_ARG;
+ 
+     if (buffer_size >= strlen(xds_xml_end_text))
+        memmove(buffer, xds_xml_end_text, strlen(xds_xml_end_text));
+ 
+     return strlen(xds_xml_end_text);
+     }

CVSTrac 2.0.1