@@ -110,21 +110,18 @@ based_process_ping(xmlNode *req, xmlNode *input, xmlNode **cib,
110110 const char * seq = pcmk__xe_get (req , PCMK__XA_CIB_PING_ID );
111111 char * digest = pcmk__digest_xml (the_cib , true);
112112
113- xmlNode * wrapper = NULL ;
114-
115113 * answer = pcmk__xe_create (NULL , PCMK__XE_PING_RESPONSE );
116114
117115 pcmk__xe_set (* answer , PCMK_XA_CRM_FEATURE_SET , CRM_FEATURE_SET );
118116 pcmk__xe_set (* answer , PCMK_XA_DIGEST , digest );
119117 pcmk__xe_set (* answer , PCMK__XA_CIB_PING_ID , seq );
120118
121- wrapper = pcmk__xe_create (* answer , PCMK__XE_CIB_CALLDATA );
122-
123119 if (the_cib != NULL ) {
124- xmlNode * shallow = pcmk__xe_create (wrapper ,
125- (const char * ) the_cib -> name );
120+ xmlNode * shallow = pcmk__xe_create (NULL , (const char * ) the_cib -> name );
126121
127122 pcmk__xe_copy_attrs (shallow , the_cib , pcmk__xaf_none );
123+ cib__set_calldata (* answer , shallow );
124+ pcmk__xml_free (shallow );
128125 }
129126
130127 pcmk__info ("Reporting our current digest to %s: %s for %s.%s.%s" ,
@@ -374,7 +371,6 @@ sync_our_cib(xmlNode *request, bool all)
374371 const char * op = pcmk__xe_get (request , PCMK__XA_CIB_OP );
375372 pcmk__node_status_t * peer = NULL ;
376373 xmlNode * replace_request = NULL ;
377- xmlNode * wrapper = NULL ;
378374
379375 CRM_CHECK (the_cib != NULL , return EINVAL );
380376 CRM_CHECK (all || (host != NULL ), return EINVAL );
@@ -401,8 +397,7 @@ sync_our_cib(xmlNode *request, bool all)
401397 digest = pcmk__digest_xml (the_cib , true);
402398 pcmk__xe_set (replace_request , PCMK_XA_DIGEST , digest );
403399
404- wrapper = pcmk__xe_create (replace_request , PCMK__XE_CIB_CALLDATA );
405- pcmk__xml_copy (wrapper , the_cib );
400+ cib__set_calldata (replace_request , the_cib );
406401
407402 if (!all ) {
408403 peer = pcmk__get_node (0 , host , NULL , pcmk__node_search_cluster_member );
0 commit comments