MCPcopy Create free account
hub / github.com/ClusterLabs/pacemaker / clone_zero

Function clone_zero

lib/pengine/unpack.c:967–1014  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

965}
966
967char *
968clone_zero(const char *last_rsc_id)
969{
970 int lpc = 0;
971 char *zero = NULL;
972
973 CRM_CHECK(last_rsc_id != NULL, return NULL);
974 if (last_rsc_id != NULL) {
975 lpc = strlen(last_rsc_id);
976 }
977
978 while (--lpc > 0) {
979 switch (last_rsc_id[lpc]) {
980 case 0:
981 return NULL;
982 break;
983 case '0':
984 case '1':
985 case '2':
986 case '3':
987 case '4':
988 case '5':
989 case '6':
990 case '7':
991 case '8':
992 case '9':
993 break;
994 case ':':
995 zero = calloc(1, lpc + 3);
996 memcpy(zero, last_rsc_id, lpc);
997 zero[lpc] = ':';
998 zero[lpc + 1] = '0';
999 zero[lpc + 2] = 0;
1000 return zero;
1001 default:
1002 goto done;
1003 }
1004 }
1005 done:
1006 lpc = strlen(last_rsc_id);
1007 zero = calloc(1, lpc + 3);
1008 memcpy(zero, last_rsc_id, lpc);
1009 zero[lpc] = ':';
1010 zero[lpc + 1] = '0';
1011 zero[lpc + 2] = 0;
1012 crm_trace("%s -> %s", last_rsc_id, zero);
1013 return zero;
1014}
1015
1016static resource_t *
1017create_fake_resource(const char *rsc_id, xmlNode * rsc_entry, pe_working_set_t * data_set)

Callers 2

unpack_find_resourceFunction · 0.85
probe_grouped_cloneFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected