Index: ossp-pkg/xds/vdecode.c RCS File: /v/ossp/cvs/ossp-pkg/xds/Attic/vdecode.c,v rcsdiff -q -kk '-r1.4.2.3' '-r1.4.2.4' -u '/v/ossp/cvs/ossp-pkg/xds/Attic/vdecode.c,v' 2>/dev/null --- vdecode.c 2001/08/01 13:26:29 1.4.2.3 +++ vdecode.c 2001/08/01 14:37:32 1.4.2.4 @@ -69,7 +69,7 @@ if (strlen(name) > 0) { size_t pos; - size_t used_buffer_size; + size_t used_buffer_size = 0; if (xds_find_engine(xds->engines, xds->engines_len, name, &pos)) { rc = (*xds->engines[pos].engine)(xds, Index: ossp-pkg/xds/vencode.c RCS File: /v/ossp/cvs/ossp-pkg/xds/Attic/vencode.c,v rcsdiff -q -kk '-r1.12.2.4' '-r1.12.2.5' -u '/v/ossp/cvs/ossp-pkg/xds/Attic/vencode.c,v' 2>/dev/null --- vencode.c 2001/08/01 13:26:29 1.12.2.4 +++ vencode.c 2001/08/01 14:37:32 1.12.2.5 @@ -42,7 +42,7 @@ xds_check_parameter(xds != NULL); xds_check_parameter(fmt_arg != NULL); - xds_check_parameter(xds->mode == XDS_ENCODE); + assert(xds->mode == XDS_ENCODE); if (xds->mode != XDS_ENCODE) return XDS_ERR_INVALID_MODE; @@ -117,6 +117,7 @@ /* Execute the engine. */ + used_buffer_size = 0; args_backup = args; rc = (*xds->engines[pos].engine)(xds, xds->engines[pos].context, @@ -140,7 +141,7 @@ rc = xds_set_capacity((void**)&xds->buffer, &xds->buffer_capacity, - xds->buffer_capacity + 1, + xds->buffer_capacity + ((used_buffer_size == 0) ? 1 : used_buffer_size), sizeof(char), XDS_INITIAL_BUFFER_CAPACITY); assert(rc == XDS_OK || rc == XDS_ERR_NO_MEM);