ossp-pkg/xds/xdr-decode-int64.c 1.3 -> 1.4
--- xdr-decode-int64.c 2001/07/23 15:33:42 1.3
+++ xdr-decode-int64.c 2001/08/01 15:25:47 1.4
@@ -25,28 +25,21 @@
SUCH DAMAGE.
*/
-#include <assert.h>
#include "internal.h"
-int xdr_decode_int64(xds_t* xds, void* engine_context, void* buffer, size_t buffer_size, va_list* args)
+int xdr_decode_int64(xds_t* xds, void* engine_context,
+ void* buffer, size_t buffer_size, size_t* used_buffer_size,
+ va_list* args)
{
xds_int64_t* value;
xds_uint64_t tmp;
- /* Consistency checks. */
-
- assert(xds != NULL);
- assert(buffer != NULL);
- assert(args != NULL);
- if (xds == NULL || buffer == NULL || buffer_size == 0 || args == NULL)
- return XDS_ERR_INVALID_ARG;
- if (buffer_size < 8)
- return XDS_ERR_UNDERFLOW;
+ xds_init_decoding_engine(8);
/* Get value and format it into the buffer. */
value = va_arg(*args, xds_int64_t*);
- assert(value != NULL);
+ xds_check_parameter(value != NULL);
if (((xds_uint8_t*)buffer)[0] & 0x80)
{ /* negative number */
@@ -75,5 +68,5 @@
/* Done. */
- return 8;
+ return XDS_OK;
}
|
|