From 0ecc0414a50c7c3621ca319e737aa01e22a3a123 Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Sat, 12 Jan 2002 02:23:04 +0000 Subject: [PATCH] Fix struct initialization in ber_scanf() for ANSI C conformance --- libraries/liblber/decode.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/libraries/liblber/decode.c b/libraries/liblber/decode.c index ff1f6edadd..b297a9c5a5 100644 --- a/libraries/liblber/decode.c +++ b/libraries/liblber/decode.c @@ -299,8 +299,8 @@ enum bgbvc { ChArray, BvArray, BvVec, BvOff }; * stack use to the absolute minimum. */ typedef struct bgbvr { - BerElement *ber; enum bgbvc choice; + BerElement *ber; ber_tag_t tag; ber_len_t len; char *last; @@ -729,7 +729,8 @@ ber_scanf ( BerElement *ber, case 'v': /* sequence of strings */ { - bgbvr cookie = { ber, ChArray }; + bgbvr cookie = { ChArray }; + cookie.ber = ber; cookie.res.c = va_arg( ap, char *** ); cookie.alloc = 1; rc = ber_get_stringbvr( &cookie, 0 ); @@ -738,7 +739,8 @@ ber_scanf ( BerElement *ber, case 'V': /* sequence of strings + lengths */ { - bgbvr cookie = { ber, BvVec }; + bgbvr cookie = { BvVec }; + cookie.ber = ber; cookie.res.bv = va_arg( ap, struct berval *** ); cookie.alloc = 1; rc = ber_get_stringbvr( &cookie, 0 ); @@ -747,7 +749,8 @@ ber_scanf ( BerElement *ber, case 'W': /* bvarray */ { - bgbvr cookie = { ber, BvArray }; + bgbvr cookie = { BvArray }; + cookie.ber = ber; cookie.res.ba = va_arg( ap, struct berval ** ); cookie.alloc = 1; rc = ber_get_stringbvr( &cookie, 0 ); @@ -760,7 +763,8 @@ ber_scanf ( BerElement *ber, * len ptr on finish. parsed in-place. */ { - bgbvr cookie = { ber, BvOff }; + bgbvr cookie = { BvOff }; + cookie.ber = ber; cookie.res.ba = va_arg( ap, struct berval ** ); cookie.alloc = 0; l = va_arg( ap, ber_len_t * );