Skip to content

Commit 88829d1

Browse files
committed
Refactor: libcrmcommon: Some best practices in xml_patch_version_check()
Rename to check_patchset_versions() and rename arrays for clarity Signed-off-by: Reid Wahl <[email protected]>
1 parent b95cef7 commit 88829d1

File tree

1 file changed

+28
-23
lines changed

1 file changed

+28
-23
lines changed

lib/common/patchset.c

Lines changed: 28 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -374,67 +374,72 @@ pcmk__xml_patchset_versions(const xmlNode *patchset, int source[3],
374374
* \return Standard Pacemaker return code
375375
*/
376376
static int
377-
xml_patch_version_check(const xmlNode *xml, const xmlNode *patchset)
377+
check_patchset_versions(const xmlNode *xml, const xmlNode *patchset)
378378
{
379379
int lpc = 0;
380380
bool changed = FALSE;
381381

382-
int this[] = { 0, 0, 0 };
383-
int add[] = { 0, 0, 0 };
384-
int del[] = { 0, 0, 0 };
382+
int current[] = { 0, 0, 0 };
383+
int source[] = { 0, 0, 0 };
384+
int target[] = { 0, 0, 0 };
385385
int rc = pcmk_rc_ok;
386386

387387
for (lpc = 0; lpc < PCMK__NELEM(vfields); lpc++) {
388-
crm_element_value_int(xml, vfields[lpc], &(this[lpc]));
389-
crm_trace("Got %d for this[%s]", this[lpc], vfields[lpc]);
390-
if (this[lpc] < 0) {
391-
this[lpc] = 0;
388+
crm_element_value_int(xml, vfields[lpc], &(current[lpc]));
389+
crm_trace("Got %d for current[%s]", current[lpc], vfields[lpc]);
390+
if (current[lpc] < 0) {
391+
current[lpc] = 0;
392392
}
393393
}
394394

395395
/* Set some defaults in case nothing is present */
396-
add[0] = this[0];
397-
add[1] = this[1];
398-
add[2] = this[2] + 1;
396+
target[0] = current[0];
397+
target[1] = current[1];
398+
target[2] = current[2] + 1;
399399
for (lpc = 0; lpc < PCMK__NELEM(vfields); lpc++) {
400-
del[lpc] = this[lpc];
400+
source[lpc] = current[lpc];
401401
}
402402

403-
rc = pcmk__xml_patchset_versions(patchset, del, add);
403+
rc = pcmk__xml_patchset_versions(patchset, source, target);
404404
if (rc != pcmk_rc_ok) {
405405
return rc;
406406
}
407407

408408
for (lpc = 0; lpc < PCMK__NELEM(vfields); lpc++) {
409-
if (this[lpc] < del[lpc]) {
409+
if (current[lpc] < source[lpc]) {
410410
crm_debug("Current %s is too low (%d.%d.%d < %d.%d.%d --> %d.%d.%d)",
411-
vfields[lpc], this[0], this[1], this[2],
412-
del[0], del[1], del[2], add[0], add[1], add[2]);
411+
vfields[lpc],
412+
current[0], current[1], current[2],
413+
source[0], source[1], source[2],
414+
target[0], target[1], target[2]);
413415
return pcmk_rc_diff_resync;
414416

415-
} else if (this[lpc] > del[lpc]) {
417+
} else if (current[lpc] > source[lpc]) {
416418
crm_info("Current %s is too high (%d.%d.%d > %d.%d.%d --> %d.%d.%d) %p",
417-
vfields[lpc], this[0], this[1], this[2],
418-
del[0], del[1], del[2], add[0], add[1], add[2], patchset);
419+
vfields[lpc],
420+
current[0], current[1], current[2],
421+
source[0], source[1], source[2],
422+
target[0], target[1], target[2], patchset);
419423
crm_log_xml_info(patchset, "OldPatch");
420424
return pcmk_rc_old_data;
421425
}
422426
}
423427

424428
for (lpc = 0; lpc < PCMK__NELEM(vfields); lpc++) {
425-
if (add[lpc] > del[lpc]) {
429+
if (target[lpc] > source[lpc]) {
426430
changed = TRUE;
427431
}
428432
}
429433

430434
if (!changed) {
431435
crm_notice("Versions did not change in patch %d.%d.%d",
432-
add[0], add[1], add[2]);
436+
target[0], target[1], target[2]);
433437
return pcmk_rc_old_data;
434438
}
435439

436440
crm_debug("Can apply patch %d.%d.%d to %d.%d.%d",
437-
add[0], add[1], add[2], this[0], this[1], this[2]);
441+
target[0], target[1], target[2],
442+
current[0], current[1], current[2]);
438443
return pcmk_rc_ok;
439444
}
440445

@@ -788,7 +793,7 @@ xml_apply_patchset(xmlNode *xml, const xmlNode *patchset, bool check_version)
788793
pcmk__log_xml_patchset(LOG_TRACE, patchset);
789794

790795
if (check_version) {
791-
rc = pcmk_rc2legacy(xml_patch_version_check(xml, patchset));
796+
rc = pcmk_rc2legacy(check_patchset_versions(xml, patchset));
792797
if (rc != pcmk_ok) {
793798
return rc;
794799
}

0 commit comments

Comments
 (0)