OSSP CVS Repository

ossp - Difference in ossp-pkg/xds/internal.h versions 1.7 and 1.8
Not logged in
[Honeypot]  [Browse]  [Home]  [Login]  [Reports
[Search]  [Ticket]  [Timeline
  [History

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

--- internal.h   2001/07/31 15:27:45     1.7
+++ internal.h   2001/08/01 15:25:47     1.8
@@ -30,6 +30,7 @@
 #ifndef __INTERNAL_H__
 #define __INTERNAL_H__
 
+#include <assert.h>
 #include "xds.h"
 
 #define XDS_TRUE (1==1)
@@ -66,4 +67,38 @@
 extern const char xds_xml_begin_text[];
 extern const char xds_xml_end_text[];
 
+#define xds_check_parameter(condition)    \
+    do                                    \
+    {                                     \
+    assert(condition);                    \
+    if (!(condition))                     \
+        return XDS_ERR_INVALID_ARG;       \
+    } while(XDS_FALSE)
+
+#define xds_init_encoding_engine(size)                                          \
+    do                                                                          \
+    {                                                                           \
+    xds_check_parameter(xds != NULL);                                           \
+    xds_check_parameter(buffer != NULL);                                        \
+    xds_check_parameter(buffer_size != 0);                                      \
+    xds_check_parameter(used_buffer_size != NULL && *used_buffer_size == 0);    \
+    xds_check_parameter(args != NULL);                                          \
+    *used_buffer_size = size;                                                   \
+    if (buffer_size < size)                                                     \
+        return XDS_ERR_OVERFLOW;                                                \
+    } while(XDS_FALSE)
+
+#define xds_init_decoding_engine(size)                                          \
+    do                                                                          \
+    {                                                                           \
+    xds_check_parameter(xds != NULL);                                           \
+    xds_check_parameter(buffer != NULL);                                        \
+    xds_check_parameter(buffer_size != 0);                                      \
+    xds_check_parameter(used_buffer_size != NULL && *used_buffer_size == 0);    \
+    xds_check_parameter(args != NULL);                                          \
+    *used_buffer_size = size;                                                   \
+    if (buffer_size < size)                                                     \
+        return XDS_ERR_UNDERFLOW;                                               \
+    } while(XDS_FALSE)
+
 #endif /* !defined(__INTERNAL_H__) */

CVSTrac 2.0.1