Index: ossp-pkg/xds/Makefile.in RCS File: /v/ossp/cvs/ossp-pkg/xds/Makefile.in,v rcsdiff -q -kk '-r1.7' '-r1.8' -u '/v/ossp/cvs/ossp-pkg/xds/Makefile.in,v' 2>/dev/null --- 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 $< Index: ossp-pkg/xds/regression-tests/Makefile.in RCS File: /v/ossp/cvs/ossp-pkg/xds/regression-tests/Attic/Makefile.in,v co -q -kk -p'1.8' '/v/ossp/cvs/ossp-pkg/xds/regression-tests/Attic/Makefile.in,v' | diff -u /dev/null - -L'ossp-pkg/xds/regression-tests/Makefile.in' 2>/dev/null --- ossp-pkg/xds/regression-tests/Makefile.in +++ - 2024-05-16 09:24:23.799551289 +0200 @@ -0,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 Index: ossp-pkg/xds/regression-tests/xml-int64.c RCS File: /v/ossp/cvs/ossp-pkg/xds/regression-tests/Attic/xml-int64.c,v co -q -kk -p'1.1' '/v/ossp/cvs/ossp-pkg/xds/regression-tests/Attic/xml-int64.c,v' | diff -u /dev/null - -L'ossp-pkg/xds/regression-tests/xml-int64.c' 2>/dev/null --- ossp-pkg/xds/regression-tests/xml-int64.c +++ - 2024-05-16 09:24:23.802143902 +0200 @@ -0,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 +#include +#include +#include +#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; + } Index: ossp-pkg/xds/regression-tests/xml-uint32.c RCS File: /v/ossp/cvs/ossp-pkg/xds/regression-tests/Attic/xml-uint32.c,v co -q -kk -p'1.1' '/v/ossp/cvs/ossp-pkg/xds/regression-tests/Attic/xml-uint32.c,v' | diff -u /dev/null - -L'ossp-pkg/xds/regression-tests/xml-uint32.c' 2>/dev/null --- ossp-pkg/xds/regression-tests/xml-uint32.c +++ - 2024-05-16 09:24:23.804737715 +0200 @@ -0,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 +#include +#include +#include +#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; + } Index: ossp-pkg/xds/regression-tests/xml-uint64.c RCS File: /v/ossp/cvs/ossp-pkg/xds/regression-tests/Attic/xml-uint64.c,v co -q -kk -p'1.1' '/v/ossp/cvs/ossp-pkg/xds/regression-tests/Attic/xml-uint64.c,v' | diff -u /dev/null - -L'ossp-pkg/xds/regression-tests/xml-uint64.c' 2>/dev/null --- ossp-pkg/xds/regression-tests/xml-uint64.c +++ - 2024-05-16 09:24:23.807350098 +0200 @@ -0,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 +#include +#include +#include +#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; + } Index: ossp-pkg/xds/xds.h.in RCS File: /v/ossp/cvs/ossp-pkg/xds/xds.h.in,v rcsdiff -q -kk '-r1.3' '-r1.4' -u '/v/ossp/cvs/ossp-pkg/xds/xds.h.in,v' 2>/dev/null --- 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__) */ Index: ossp-pkg/xds/xml-decode-int64.c RCS File: /v/ossp/cvs/ossp-pkg/xds/Attic/xml-decode-int64.c,v co -q -kk -p'1.1' '/v/ossp/cvs/ossp-pkg/xds/Attic/xml-decode-int64.c,v' | diff -u /dev/null - -L'ossp-pkg/xds/xml-decode-int64.c' 2>/dev/null --- ossp-pkg/xds/xml-decode-int64.c +++ - 2024-05-16 09:24:23.814365306 +0200 @@ -0,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 +#include +#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, "%Ld%n", value, &len); + if (rc <= 0) + return XDS_ERR_UNDERFLOW; + + return len; + } Index: ossp-pkg/xds/xml-decode-uint32.c RCS File: /v/ossp/cvs/ossp-pkg/xds/Attic/xml-decode-uint32.c,v co -q -kk -p'1.1' '/v/ossp/cvs/ossp-pkg/xds/Attic/xml-decode-uint32.c,v' | diff -u /dev/null - -L'ossp-pkg/xds/xml-decode-uint32.c' 2>/dev/null --- ossp-pkg/xds/xml-decode-uint32.c +++ - 2024-05-16 09:24:23.816935587 +0200 @@ -0,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 +#include +#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, "%u%n", value, &len); + if (rc <= 0) + return XDS_ERR_UNDERFLOW; + + return len; + } Index: ossp-pkg/xds/xml-decode-uint64.c RCS File: /v/ossp/cvs/ossp-pkg/xds/Attic/xml-decode-uint64.c,v co -q -kk -p'1.1' '/v/ossp/cvs/ossp-pkg/xds/Attic/xml-decode-uint64.c,v' | diff -u /dev/null - -L'ossp-pkg/xds/xml-decode-uint64.c' 2>/dev/null --- ossp-pkg/xds/xml-decode-uint64.c +++ - 2024-05-16 09:24:23.819536136 +0200 @@ -0,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 +#include +#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, "%Lu%n", value, &len); + if (rc <= 0) + return XDS_ERR_UNDERFLOW; + + return len; + } Index: ossp-pkg/xds/xml-encode-int64.c RCS File: /v/ossp/cvs/ossp-pkg/xds/Attic/xml-encode-int64.c,v co -q -kk -p'1.1' '/v/ossp/cvs/ossp-pkg/xds/Attic/xml-encode-int64.c,v' | diff -u /dev/null - -L'ossp-pkg/xds/xml-encode-int64.c' 2>/dev/null --- ossp-pkg/xds/xml-encode-int64.c +++ - 2024-05-16 09:24:23.822221142 +0200 @@ -0,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 +#include +#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, "%Ld", value); + if (rc < 0) + return buffer_size*2; + assert(rc >= 15); + + return rc; + } Index: ossp-pkg/xds/xml-encode-uint32.c RCS File: /v/ossp/cvs/ossp-pkg/xds/Attic/xml-encode-uint32.c,v co -q -kk -p'1.1' '/v/ossp/cvs/ossp-pkg/xds/Attic/xml-encode-uint32.c,v' | diff -u /dev/null - -L'ossp-pkg/xds/xml-encode-uint32.c' 2>/dev/null --- ossp-pkg/xds/xml-encode-uint32.c +++ - 2024-05-16 09:24:23.824880269 +0200 @@ -0,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 +#include +#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, "%u", value); + if (rc < 0) + return buffer_size*2; + assert(rc >= 15); + + return rc; + } Index: ossp-pkg/xds/xml-encode-uint64.c RCS File: /v/ossp/cvs/ossp-pkg/xds/Attic/xml-encode-uint64.c,v co -q -kk -p'1.1' '/v/ossp/cvs/ossp-pkg/xds/Attic/xml-encode-uint64.c,v' | diff -u /dev/null - -L'ossp-pkg/xds/xml-encode-uint64.c' 2>/dev/null --- ossp-pkg/xds/xml-encode-uint64.c +++ - 2024-05-16 09:24:23.827489256 +0200 @@ -0,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 +#include +#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, "%Lu", value); + if (rc < 0) + return buffer_size*2; + assert(rc >= 15); + + return rc; + }