ossp-pkg/xds/vdecode.c 1.4.2.1 -> 1.4.2.2
--- vdecode.c 2001/08/01 09:55:58 1.4.2.1
+++ vdecode.c 2001/08/01 11:26:16 1.4.2.2
@@ -70,17 +70,20 @@
if (strlen(name) > 0)
{
size_t pos;
+ size_t used_buffer_size;
if (xds_find_engine(xds->engines, xds->engines_len, name, &pos))
{
rc = (*xds->engines[pos].engine)(xds,
xds->engines[pos].context,
xds->buffer + xds->buffer_len,
xds->buffer_capacity - xds->buffer_len,
+ &used_buffer_size,
&args);
- if (rc < 0)
- goto leave;
+ assert(rc <= 0);
+ if (rc == XDS_OK)
+ xds->buffer_len += used_buffer_size;
else
- xds->buffer_len += rc;
+ goto leave;
}
else
{
|
|