*subsys = (char*)cl_strdup(char_value);
*subsys = (char*)crm_strdup(char_value);
decode_hash_value(gpointer value, char **node, char **subsys){	char *char_value = (char*)value;	int value_len = strlen(char_value);	FNIN();    	cl_log(LOG_INFO, "Decoding hash value: (%s:%d)",	       char_value,	       value_len);    		if (strcmp("dc", (char*)value) == 0) {		*node = NULL;		*subsys = (char*)cl_strdup(char_value);		if (!*subsys) {			cl_log(LOG_ERR, "memory allocation failed in "			       "decode_hash_value()\n");			FNRET(FALSE);		}		cl_log(LOG_INFO, "Decoded value: (%s:%d)", *subsys, 		       (int)strlen(*subsys));		FNRET(TRUE);	}	else if (char_value != NULL) {		if (decodeNVpair(char_value, '_', node, subsys)) {			FNRET(TRUE);		} else {			*node = NULL;			*subsys = NULL;			FNRET(FALSE);		}	}	FNRET(FALSE);}