@@ -181,9 +181,10 @@ releaseDecompArray(struct arrayDecomp const arrayDecomp,
181181
182182
183183static void
184- releaseDecompStruct (struct structDecomp const structDecomp ,
184+ releaseDecompStruct (struct structDecomp const * _structDecomp ,
185185 bool const oldstyleMemMgmt ) {
186186
187+ struct structDecomp const structDecomp = * _structDecomp ;
187188 unsigned int i ;
188189 for (i = 0 ; i < structDecomp .mbrCnt ; ++ i ) {
189190 releaseDecomposition (structDecomp .mbrArray [i ].decompTreeP ,
@@ -239,7 +240,7 @@ releaseDecomposition(const struct decompTreeNode * const decompRootP,
239240 releaseDecompArray (decompRootP -> store .Tarray , oldstyleMemMgmt );
240241 break ;
241242 case '{' :
242- releaseDecompStruct (decompRootP -> store .Tstruct , oldstyleMemMgmt );
243+ releaseDecompStruct (& decompRootP -> store .Tstruct , oldstyleMemMgmt );
243244 break ;
244245 }
245246}
@@ -259,8 +260,9 @@ decomposeValueWithTree(xmlrpc_env * const envP,
259260static void
260261validateArraySize (xmlrpc_env * const envP ,
261262 const xmlrpc_value * const arrayP ,
262- struct arrayDecomp const arrayDecomp ) {
263+ struct arrayDecomp const * _arrayDecomp ) {
263264
265+ struct arrayDecomp const arrayDecomp = * _arrayDecomp ;
264266 unsigned int size ;
265267
266268 size = xmlrpc_array_size (envP , arrayP );
@@ -284,10 +286,12 @@ validateArraySize(xmlrpc_env * const envP,
284286static void
285287parsearray (xmlrpc_env * const envP ,
286288 const xmlrpc_value * const arrayP ,
287- struct arrayDecomp const arrayDecomp ,
289+ struct arrayDecomp const * _arrayDecomp ,
288290 bool const oldstyleMemMgmt ) {
289291
290- validateArraySize (envP , arrayP , arrayDecomp );
292+ struct arrayDecomp const arrayDecomp = * _arrayDecomp ;
293+
294+ validateArraySize (envP , arrayP , & arrayDecomp );
291295
292296 if (!envP -> fault_occurred ) {
293297 unsigned int doneCnt ;
@@ -324,9 +328,10 @@ parsearray(xmlrpc_env * const envP,
324328static void
325329parsestruct (xmlrpc_env * const envP ,
326330 xmlrpc_value * const structP ,
327- struct structDecomp const structDecomp ,
331+ struct structDecomp const * _structDecomp ,
328332 bool const oldstyleMemMgmt ) {
329333
334+ struct structDecomp const structDecomp = * _structDecomp ;
330335 unsigned int doneCount ;
331336
332337 doneCount = 0 ; /* No members done yet */
@@ -569,7 +574,7 @@ decomposeValueWithTree(xmlrpc_env * const envP,
569574 "%s, but the '(...)' specifier requires type ARRAY" ,
570575 xmlrpc_type_name (xmlrpc_value_type (valueP )));
571576 else
572- parsearray (envP , valueP , decompRootP -> store .Tarray ,
577+ parsearray (envP , valueP , & decompRootP -> store .Tarray ,
573578 oldstyleMemMgmt );
574579 break ;
575580
@@ -580,7 +585,7 @@ decomposeValueWithTree(xmlrpc_env * const envP,
580585 "%s, but the '{...}' specifier requires type STRUCT" ,
581586 xmlrpc_type_name (xmlrpc_value_type (valueP )));
582587 else
583- parsestruct (envP , valueP , decompRootP -> store .Tstruct ,
588+ parsestruct (envP , valueP , & decompRootP -> store .Tstruct ,
584589 oldstyleMemMgmt );
585590 break ;
586591
0 commit comments