74 #define WS_MB_CONT_BIT 0x80 75 #define WS_MB_DATA_MASK 0x7f 109 for (i = 0; i < *
len; i++) {
132 unsigned char data[64];
134 va_start(ap, buffer);
136 while ((spec = va_arg(ap,
int)) !=
WS_ENC_END)
143 ival = va_arg(ap,
int);
153 ival = va_arg(ap,
int);
163 ival = va_arg(ap,
long);
174 ui32 = va_arg(ap,
int);
176 ui32 = va_arg(ap,
long);
188 cp = va_arg(ap,
unsigned char *);
189 len = va_arg(ap,
unsigned int);
198 ws_fatal(
"ws_encode_buffer(): unknown type %d: probably a missing " 231 size_t orig_buffer_len = buffer_len;
233 va_start(ap, buffer_len);
235 while ((spec = va_arg(ap,
int)) !=
WS_ENC_END) {
241 goto too_short_buffer;
253 goto too_short_buffer;
265 goto too_short_buffer;
277 size_t len = buffer_len;
281 goto too_short_buffer;
299 cpp = va_arg(ap,
unsigned char **);
300 len = va_arg(ap,
size_t);
302 if (buffer_len <
len)
303 goto too_short_buffer;
305 *cpp = (
unsigned char *) buffer;
311 ws_fatal(
"ws_encode_buffer(): unknown type %d: probably a missing " 319 return orig_buffer_len - buffer_len;
#define WS_GET_UINT32(buf, var)
void error(int err, const char *fmt,...)
void ws_fatal(char *fmt,...)
#define WS_PUT_UINT8(buf, val)
#define WS_GET_UINT16(buf, var)
WsUInt32 ws_decode_mb_uint32(const unsigned char *buffer, size_t *len)
#define WS_PUT_UINT16(buf, val)
#define WS_PUT_UINT32(buf, val)
#define WS_GET_UINT8(buf, var)
#define WS_MB_UINT32_MAX_ENCODED_LEN
size_t ws_decode_buffer(const unsigned char *buffer, size_t buffer_len,...)
unsigned char * ws_encode_mb_uint32(WsUInt32 value, unsigned char *buffer, size_t *len_return)
WsBool ws_encode_buffer(WsBuffer *buffer,...)
WsBool ws_buffer_append_space(WsBuffer *buffer, unsigned char **p, size_t size)