OSSP CVS Repository

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

Check-in Number: 561
Date: 2001-Jul-23 18:17:43 (local)
2001-Jul-23 16:17:43 (UTC)
User:simons
Branch:
Comment: Added XML implementations for uint32, int64, and uint64.
Tickets:
Inspections:
Files:
ossp-pkg/xds/Makefile.in      1.7 -> 1.8     3 inserted, 1 deleted
ossp-pkg/xds/regression-tests/Makefile.in      added-> 1.8
ossp-pkg/xds/regression-tests/xml-int64.c      added-> 1.1
ossp-pkg/xds/regression-tests/xml-uint32.c      added-> 1.1
ossp-pkg/xds/regression-tests/xml-uint64.c      added-> 1.1
ossp-pkg/xds/xds.h.in      1.3 -> 1.4     9 inserted, 0 deleted
ossp-pkg/xds/xml-decode-int64.c      added-> 1.1
ossp-pkg/xds/xml-decode-uint32.c      added-> 1.1
ossp-pkg/xds/xml-decode-uint64.c      added-> 1.1
ossp-pkg/xds/xml-encode-int64.c      added-> 1.1
ossp-pkg/xds/xml-encode-uint32.c      added-> 1.1
ossp-pkg/xds/xml-encode-uint64.c      added-> 1.1

ossp-pkg/xds/Makefile.in 1.7 -> 1.8

--- Makefile.in  2001/07/23 15:33:42     1.7
+++ Makefile.in  2001/07/23 16:17:43     1.8
@@ -15,7 +15,9 @@
                   xdr-decode-int64.o xdr-decode-uint32.o xdr-decode-uint64.o \
                   xdr-encode-octetstream.o xdr-decode-octetstream.o \
                   xdr-encode-string.o xdr-decode-string.o xdr-encode-double.o \
-                  xdr-decode-double.o xml-encode-int32.o xml-decode-int32.o
+                  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
 
 .c.o:
         $(CC) $(CPPFLAGS) $(WARNFLAGS) $(OPTFLAGS) $(CFLAGS) -c $<


ossp-pkg/xds/regression-tests/Makefile.in -> 1.8

*** /dev/null    Mon Apr 29 18:09:21 2024
--- -    Mon Apr 29 18:09:46 2024
***************
*** 0 ****
--- 1,45 ----
+ # Build and run the regression tests for libxds.
+ 
+ CC             = @CC@
+ AR             = ar
+ RANLIB         = @RANLIB@
+ 
+ CPPFLAGS       = @CPPFLAGS@ @DEFS@ -D_GNU_SOURCE
+ CFLAGS         = @CFLAGS@
+ LDFLAGS                = @LDFLAGS@ @xdr_lib@ -L..
+ 
+ TESTS          = xds-core.exe xds-find-engine.exe xds-register.exe xds-encode.exe \
+                  xds-getbuffer.exe xds-decode.exe xds-setbuffer.exe xds-engine-restart.exe \
+                  xdr-uint32.exe xdr-int32.exe xdr-uint64.exe xdr-int64.exe  \
+                  xdr-octetstream.exe xdr-octetstream-empty.exe xdr-string.exe \
+                  xdr-string-empty.exe xds-mystruct.exe xml-uint32.exe xml-int32.exe \
+                  xml-uint64.exe xml-int64.exe
+ 
+ .SUFFIXES:
+ .SUFFIXES:     .c .exe
+ 
+ .c.exe:
+        $(CC) $(CPPFLAGS) $(WARNFLAGS) $(OPTFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ $< -lxds
+ 
+ .cpp.exe:
+        $(CXX) $(CPPFLAGS) $(WARNFLAGS) $(OPTFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@ $< -lxds
+ 
+ all:   $(TESTS)
+ 
+ check: all
+        @./.run-tests $(TESTS)
+ 
+ ../libxds.a:
+        (cd .. && $(MAKE) libxds.a)
+ clean::
+        rm -f $(TESTS) *.log
+ 
+ distclean::    clean
+        rm -f  Makefile
+ 
+ realclean::    distclean
+ 
+ 
+ # Dependencies
+ 
+ $(TESTS): ../libxds.a ../internal.h ../xds.h


ossp-pkg/xds/regression-tests/xml-int64.c -> 1.1

*** /dev/null    Mon Apr 29 18:09:21 2024
--- -    Mon Apr 29 18:09:46 2024
***************
*** 0 ****
--- 1,116 ----
+ /*
+    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 <stdio.h>
+ #include <string.h>
+ #include <rpc/types.h>
+ #include <rpc/xdr.h>
+ #include "../internal.h"
+ 
+ int main()
+     {
+     xds_t* xds;
+     char*  buffer;
+     size_t buffer_size;
+ 
+     xds_int64_t values[] =
+        {
+         0x0000000000000000LL,
+         0x123456789abcdef0LL,
+        -0x123456789abcdef0LL,
+         0xabcdef01cc45bb9aLL,
+        -0xabcdef01cc45bb9aLL,
+         0x7fffffffffffffffLL
+        };
+ 
+     size_t i;
+ 
+     /* Encode the values array, then decode it back and compare the
+        numbers. */
+ 
+     xds = xds_init(XDS_ENCODE);
+     if (xds == NULL)
+        {
+        printf("Failed to initialize XDS context.\n");
+        return 1;
+        }
+     if (xds_register(xds, "int", &xml_encode_int64, NULL) != XDS_OK)
+        {
+        printf("Failed to register my encoding engines.\n");
+        return 1;
+        }
+     for (i = 0; i < sizeof(values)/sizeof(xds_int64_t); ++i)
+        {
+        if (xds_encode(xds, "int", values[i]) != XDS_OK)
+            {
+            printf("xds_encode(values[%d]) failed!\n", i);
+            return 1;
+            }
+        }
+     if (xds_getbuffer(xds, XDS_GIFT, (void**)&buffer, &buffer_size) != XDS_OK)
+        {
+        printf("getbuffer() failed.\n");
+        return 1;
+        }
+     xds_destroy(xds);
+ 
+     xds = xds_init(XDS_DECODE);
+     if (xds == NULL)
+        {
+        printf("Failed to initialize XDS context.\n");
+        return 1;
+        }
+     if (xds_register(xds, "int", &xml_decode_int64, NULL) != XDS_OK)
+        {
+        printf("Failed to register my decoding engines.\n");
+        return 1;
+        }
+     if (xds_setbuffer(xds, XDS_GIFT, buffer, buffer_size) != XDS_OK)
+        {
+        printf("setbuffer() failed.\n");
+        return 1;
+        }
+     for (i = 0; i < sizeof(values)/sizeof(xds_int64_t); ++i)
+        {
+        xds_int64_t val;
+        if (xds_decode(xds, "int", &val) != XDS_OK)
+            {
+            printf("xds_decode(values[%d]) failed!\n", i);
+            return 1;
+            }
+        if (val != values[i])
+            {
+            printf("Decoded value (%Ld) does not match the original value (%Ld)!\n", val, values[i]);
+            return 1;
+            }
+        }
+     xds_destroy(xds);
+ 
+     /* Everything went fine. */
+ 
+     return 0;
+     }


ossp-pkg/xds/regression-tests/xml-uint32.c -> 1.1

*** /dev/null    Mon Apr 29 18:09:21 2024
--- -    Mon Apr 29 18:09:46 2024
***************
*** 0 ****
--- 1,115 ----
+ /*
+    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 <stdio.h>
+ #include <string.h>
+ #include <rpc/types.h>
+ #include <rpc/xdr.h>
+ #include "../internal.h"
+ 
+ int main()
+     {
+     xds_t* xds;
+     char*  buffer;
+     size_t buffer_size;
+ 
+     xds_uint32_t values[] =
+        {
+        0x00000000,
+        0x12345678,
+        0xabcdef01,
+        0xc500b3ef,
+        0xffffffff
+        };
+ 
+     size_t i;
+ 
+     /* Encode the values array, then decode it back and compare the
+        numbers. */
+ 
+     xds = xds_init(XDS_ENCODE);
+     if (xds == NULL)
+        {
+        printf("Failed to initialize XDS context.\n");
+        return 1;
+        }
+     if (xds_register(xds, "int", &xml_encode_uint32, NULL) != XDS_OK)
+        {
+        printf("Failed to register my encoding engines.\n");
+        return 1;
+        }
+     for (i = 0; i < sizeof(values)/sizeof(xds_uint32_t); ++i)
+        {
+        if (xds_encode(xds, "int", values[i]) != XDS_OK)
+            {
+            printf("xds_encode(values[%d]) failed!\n", i);
+            return 1;
+            }
+        }
+     if (xds_getbuffer(xds, XDS_GIFT, (void**)&buffer, &buffer_size) != XDS_OK)
+        {
+        printf("getbuffer() failed.\n");
+        return 1;
+        }
+     xds_destroy(xds);
+ 
+     xds = xds_init(XDS_DECODE);
+     if (xds == NULL)
+        {
+        printf("Failed to initialize XDS context.\n");
+        return 1;
+        }
+     if (xds_register(xds, "int", &xml_decode_uint32, NULL) != XDS_OK)
+        {
+        printf("Failed to register my decoding engines.\n");
+        return 1;
+        }
+     if (xds_setbuffer(xds, XDS_GIFT, buffer, buffer_size) != XDS_OK)
+        {
+        printf("setbuffer() failed.\n");
+        return 1;
+        }
+     for (i = 0; i < sizeof(values)/sizeof(xds_uint32_t); ++i)
+        {
+        xds_uint32_t val;
+        if (xds_decode(xds, "int", &val) != XDS_OK)
+            {
+            printf("xds_decode(values[%d]) failed!\n", i);
+            return 1;
+            }
+        if (val != values[i])
+            {
+            printf("Decoded value (%d) does not match the original value (%d)!\n", val, values[i]);
+            return 1;
+            }
+        }
+     xds_destroy(xds);
+ 
+     /* Everything went fine. */
+ 
+     return 0;
+     }


ossp-pkg/xds/regression-tests/xml-uint64.c -> 1.1

*** /dev/null    Mon Apr 29 18:09:21 2024
--- -    Mon Apr 29 18:09:46 2024
***************
*** 0 ****
--- 1,115 ----
+ /*
+    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 <stdio.h>
+ #include <string.h>
+ #include <rpc/types.h>
+ #include <rpc/xdr.h>
+ #include "../internal.h"
+ 
+ int main()
+     {
+     xds_t* xds;
+     char*  buffer;
+     size_t buffer_size;
+ 
+     xds_uint64_t values[] =
+        {
+        0x0000000000000000ULL,
+        0x123456789abcdef0ULL,
+        0xabcdef01cc45bb9aULL,
+        0xc500b3efdd34ca9eULL,
+        0xffffffffffffffffULL
+        };
+ 
+     size_t i;
+ 
+     /* Encode the values array, then decode it back and compare the
+        numbers. */
+ 
+     xds = xds_init(XDS_ENCODE);
+     if (xds == NULL)
+        {
+        printf("Failed to initialize XDS context.\n");
+        return 1;
+        }
+     if (xds_register(xds, "int", &xml_encode_uint64, NULL) != XDS_OK)
+        {
+        printf("Failed to register my encoding engines.\n");
+        return 1;
+        }
+     for (i = 0; i < sizeof(values)/sizeof(xds_uint64_t); ++i)
+        {
+        if (xds_encode(xds, "int", values[i]) != XDS_OK)
+            {
+            printf("xds_encode(values[%d]) failed!\n", i);
+            return 1;
+            }
+        }
+     if (xds_getbuffer(xds, XDS_GIFT, (void**)&buffer, &buffer_size) != XDS_OK)
+        {
+        printf("getbuffer() failed.\n");
+        return 1;
+        }
+     xds_destroy(xds);
+ 
+     xds = xds_init(XDS_DECODE);
+     if (xds == NULL)
+        {
+        printf("Failed to initialize XDS context.\n");
+        return 1;
+        }
+     if (xds_register(xds, "int", &xml_decode_uint64, NULL) != XDS_OK)
+        {
+        printf("Failed to register my decoding engines.\n");
+        return 1;
+        }
+     if (xds_setbuffer(xds, XDS_GIFT, buffer, buffer_size) != XDS_OK)
+        {
+        printf("setbuffer() failed.\n");
+        return 1;
+        }
+     for (i = 0; i < sizeof(values)/sizeof(xds_uint64_t); ++i)
+        {
+        xds_uint64_t val;
+        if (xds_decode(xds, "int", &val) != XDS_OK)
+            {
+            printf("xds_decode(values[%d]) failed!\n", i);
+            return 1;
+            }
+        if (val != values[i])
+            {
+            printf("Decoded value (%Lu) does not match the original value (%Lu)!\n", val, values[i]);
+            return 1;
+            }
+        }
+     xds_destroy(xds);
+ 
+     /* Everything went fine. */
+ 
+     return 0;
+     }


ossp-pkg/xds/xds.h.in 1.3 -> 1.4

--- xds.h.in     2001/07/23 15:33:23     1.3
+++ xds.h.in     2001/07/23 16:17:43     1.4
@@ -103,4 +103,13 @@
 int xml_encode_int32(xds_t* xds, void* engine_context, void* buffer, size_t buffer_size, va_list* args);
 int xml_decode_int32(xds_t* xds, void* engine_context, void* buffer, size_t buffer_size, va_list* args);
 
+int xml_encode_uint32(xds_t* xds, void* engine_context, void* buffer, size_t buffer_size, va_list* args);
+int xml_decode_uint32(xds_t* xds, void* engine_context, void* buffer, size_t buffer_size, va_list* args);
+
+int xml_encode_int64(xds_t* xds, void* engine_context, void* buffer, size_t buffer_size, va_list* args);
+int xml_decode_int64(xds_t* xds, void* engine_context, void* buffer, size_t buffer_size, va_list* args);
+
+int xml_encode_uint64(xds_t* xds, void* engine_context, void* buffer, size_t buffer_size, va_list* args);
+int xml_decode_uint64(xds_t* xds, void* engine_context, void* buffer, size_t buffer_size, va_list* args);
+
 #endif /* !defined(__LIBXDS_H__) */


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

*** /dev/null    Mon Apr 29 18:09:21 2024
--- -    Mon Apr 29 18:09:46 2024
***************
*** 0 ****
--- 1,55 ----
+ /*
+    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 <stdio.h>
+ #include <assert.h>
+ #include "internal.h"
+ 
+ int xml_decode_int64(xds_t* xds, void* engine_context, void* buffer, size_t buffer_size, va_list* args)
+     {
+     int rc;
+     xds_int64_t* value;
+     int len;
+ 
+     /* 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;
+ 
+     /* Format value into buffer. */
+ 
+     value = va_arg(*args, xds_int64_t*);
+     rc = sscanf(buffer, "<int64>%Ld</int64>%n", value, &len);
+     if (rc <= 0)
+        return XDS_ERR_UNDERFLOW;
+ 
+     return len;
+     }


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

*** /dev/null    Mon Apr 29 18:09:21 2024
--- -    Mon Apr 29 18:09:46 2024
***************
*** 0 ****
--- 1,55 ----
+ /*
+    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 <stdio.h>
+ #include <assert.h>
+ #include "internal.h"
+ 
+ int xml_decode_uint32(xds_t* xds, void* engine_context, void* buffer, size_t buffer_size, va_list* args)
+     {
+     int rc;
+     xds_uint32_t* value;
+     int len;
+ 
+     /* 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;
+ 
+     /* Format value into buffer. */
+ 
+     value = va_arg(*args, xds_uint32_t*);
+     rc = sscanf(buffer, "<uint32>%u</uint32>%n", value, &len);
+     if (rc <= 0)
+        return XDS_ERR_UNDERFLOW;
+ 
+     return len;
+     }


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

*** /dev/null    Mon Apr 29 18:09:21 2024
--- -    Mon Apr 29 18:09:46 2024
***************
*** 0 ****
--- 1,55 ----
+ /*
+    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 <stdio.h>
+ #include <assert.h>
+ #include "internal.h"
+ 
+ int xml_decode_uint64(xds_t* xds, void* engine_context, void* buffer, size_t buffer_size, va_list* args)
+     {
+     int rc;
+     xds_uint64_t* value;
+     int len;
+ 
+     /* 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;
+ 
+     /* Format value into buffer. */
+ 
+     value = va_arg(*args, xds_uint64_t*);
+     rc = sscanf(buffer, "<uint64>%Lu</uint64>%n", value, &len);
+     if (rc <= 0)
+        return XDS_ERR_UNDERFLOW;
+ 
+     return len;
+     }


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

*** /dev/null    Mon Apr 29 18:09:21 2024
--- -    Mon Apr 29 18:09:46 2024
***************
*** 0 ****
--- 1,55 ----
+ /*
+    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 <stdio.h>
+ #include <assert.h>
+ #include "internal.h"
+ 
+ int xml_encode_int64(xds_t* xds, void* engine_context, void* buffer, size_t buffer_size, va_list* args)
+     {
+     int rc;
+     xds_int64_t value;
+ 
+     /* 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;
+ 
+     /* Format value into buffer. */
+ 
+     value = va_arg(*args, xds_int64_t);
+     rc = snprintf(buffer, buffer_size, "<int64>%Ld</int64>", value);
+     if (rc < 0)
+        return buffer_size*2;
+     assert(rc >= 15);
+ 
+     return rc;
+     }


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

*** /dev/null    Mon Apr 29 18:09:21 2024
--- -    Mon Apr 29 18:09:46 2024
***************
*** 0 ****
--- 1,55 ----
+ /*
+    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 <stdio.h>
+ #include <assert.h>
+ #include "internal.h"
+ 
+ int xml_encode_uint32(xds_t* xds, void* engine_context, void* buffer, size_t buffer_size, va_list* args)
+     {
+     int rc;
+     xds_uint32_t value;
+ 
+     /* 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;
+ 
+     /* Format value into buffer. */
+ 
+     value = va_arg(*args, xds_uint32_t);
+     rc = snprintf(buffer, buffer_size, "<uint32>%u</uint32>", value);
+     if (rc < 0)
+        return buffer_size*2;
+     assert(rc >= 15);
+ 
+     return rc;
+     }


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

*** /dev/null    Mon Apr 29 18:09:21 2024
--- -    Mon Apr 29 18:09:46 2024
***************
*** 0 ****
--- 1,55 ----
+ /*
+    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 <stdio.h>
+ #include <assert.h>
+ #include "internal.h"
+ 
+ int xml_encode_uint64(xds_t* xds, void* engine_context, void* buffer, size_t buffer_size, va_list* args)
+     {
+     int rc;
+     xds_uint64_t value;
+ 
+     /* 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;
+ 
+     /* Format value into buffer. */
+ 
+     value = va_arg(*args, xds_uint64_t);
+     rc = snprintf(buffer, buffer_size, "<uint64>%Lu</uint64>", value);
+     if (rc < 0)
+        return buffer_size*2;
+     assert(rc >= 15);
+ 
+     return rc;
+     }

CVSTrac 2.0.1