commit 0c88fc0aa260dcd50e654275cc9fdd68e27a2617 Author: David Vossel Date: Wed Dec 4 17:04:52 2013 -0600 Fix: Removes unnecessary newlines in crm_resource -O output Resolves: rhbz#1038155 (cherry picked from commit cd56faa1c9168811b64be9f7eea73ad600261844) diff --git a/include/crm/common/util.h b/include/crm/common/util.h index f0dca36..9092708 100644 --- a/include/crm/common/util.h +++ b/include/crm/common/util.h @@ -67,6 +67,8 @@ gboolean decode_transition_key(const char *key, char **uuid, int *action, int *t gboolean decode_transition_magic(const char *magic, char **uuid, int *transition_id, int *action_id, int *op_status, int *op_rc, int *target_rc); +char * crm_strip_trailing_newline(char *str); + # define safe_str_eq(a, b) crm_str_eq(a, b, FALSE) gboolean crm_str_eq(const char *a, const char *b, gboolean use_case); gboolean safe_str_neq(const char *a, const char *b); diff --git a/lib/common/utils.c b/lib/common/utils.c index 527c9e0..4e18039 100644 --- a/lib/common/utils.c +++ b/lib/common/utils.c @@ -1550,6 +1550,22 @@ crm_is_writable(const char *dir, const char *file, return pass; } +char * +crm_strip_trailing_newline(char *str) +{ + int len; + + if (str == NULL) { + return str; + } + + for (len = strlen(str) - 1; len >= 0 && str[len] == '\n'; len--) { + str[len] = '\0'; + } + + return str; +} + gboolean crm_str_eq(const char *a, const char *b, gboolean use_case) { diff --git a/tools/crm_resource.c b/tools/crm_resource.c index c03501d..2f0e282 100644 --- a/tools/crm_resource.c +++ b/tools/crm_resource.c @@ -1119,8 +1119,8 @@ list_resource_operations(const char *rsc_id, const char *host_uname, gboolean ac if (last) { time_t run_at = crm_parse_int(last, "0"); - fprintf(stdout, ", last-rc-change=%s, exec=%sms\n", - ctime(&run_at), crm_element_value(xml_op, XML_RSC_OP_T_EXEC)); + fprintf(stdout, ", last-rc-change=%s, exec=%sms", + crm_strip_trailing_newline(ctime(&run_at)), crm_element_value(xml_op, XML_RSC_OP_T_EXEC)); } fprintf(stdout, "): %s\n", services_lrm_status_str(status)); }