Change in ...libosmocore[master]: fsm: Reduce amount of copy+pasted LOGPFSMSRC() statements

Harald Welte gerrit-no-reply at lists.osmocom.org
Wed Jun 5 10:01:22 UTC 2019


Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/libosmocore/+/14363 )

Change subject: fsm: Reduce amount of copy+pasted LOGPFSMSRC() statements
......................................................................

fsm: Reduce amount of copy+pasted LOGPFSMSRC() statements

Instead of copy+pasting the same LOGPFSMSRC("State change to " ...)
with slightly different trailer depending on the FSM timer, let's first
snprintf() to a stack variable and then have a single log statement.

Change-Id: I49528c4ca1fa11aef09c2092615dccca450b847c
---
M src/fsm.c
1 file changed, 15 insertions(+), 17 deletions(-)

Approvals:
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/src/fsm.c b/src/fsm.c
index 37da9f9..337786d 100644
--- a/src/fsm.c
+++ b/src/fsm.c
@@ -609,33 +609,31 @@
 		st->onleave(fi, new_state);
 
 	if (fsm_log_timeouts) {
+		char trailer[64];
+		trailer[0] = '\0';
 		if (keep_timer && fi->timer.active) {
 			/* This should always give us a timeout, but just in case the return value indicates error, omit
 			 * logging the remaining time. */
 			if (osmo_timer_remaining(&fi->timer, NULL, &remaining))
-				LOGPFSMSRC(fi, file, line,
-					   "State change to %s (keeping " OSMO_T_FMT ")\n",
-					   osmo_fsm_state_name(fsm, new_state),
-					   OSMO_T_FMT_ARGS(fi->T));
+				snprintf(trailer, sizeof(trailer), "(keeping " OSMO_T_FMT ")",
+					 OSMO_T_FMT_ARGS(fi->T));
 			else
-				LOGPFSMSRC(fi, file, line,
-					   "State change to %s (keeping " OSMO_T_FMT ", %ld.%03lds remaining)\n",
-					   osmo_fsm_state_name(fsm, new_state),
-					   OSMO_T_FMT_ARGS(fi->T), remaining.tv_sec, remaining.tv_usec / 1000);
+				snprintf(trailer, sizeof(trailer), "(keeping " OSMO_T_FMT
+					  ", %ld.%03lds remaining)", OSMO_T_FMT_ARGS(fi->T),
+					  remaining.tv_sec, remaining.tv_usec / 1000);
 		} else if (timeout_ms) {
-			if (timeout_ms % 1000 == 0) {
+			if (timeout_ms % 1000 == 0)
 				/* keep log output legacy compatible to avoid autotest failures */
-				LOGPFSMSRC(fi, file, line, "State change to %s (" OSMO_T_FMT ", %lus)\n",
-					   osmo_fsm_state_name(fsm, new_state),
+				snprintf(trailer, sizeof(trailer), "(" OSMO_T_FMT ", %lus)",
 					   OSMO_T_FMT_ARGS(T), timeout_ms/1000);
-			} else {
-				LOGPFSMSRC(fi, file, line, "State change to %s (" OSMO_T_FMT ", %lums)\n",
-					   osmo_fsm_state_name(fsm, new_state),
+			else
+				snprintf(trailer, sizeof(trailer), "(" OSMO_T_FMT ", %lums)",
 					   OSMO_T_FMT_ARGS(T), timeout_ms);
-			}
 		} else
-			LOGPFSMSRC(fi, file, line, "State change to %s (no timeout)\n",
-				   osmo_fsm_state_name(fsm, new_state));
+			snprintf(trailer, sizeof(trailer), "(no timeout)");
+
+		LOGPFSMSRC(fi, file, line, "State change to %s %s\n",
+			   osmo_fsm_state_name(fsm, new_state), trailer);
 	} else {
 		LOGPFSMSRC(fi, file, line, "state_chg to %s\n",
 			   osmo_fsm_state_name(fsm, new_state));

-- 
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/14363
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I49528c4ca1fa11aef09c2092615dccca450b847c
Gerrit-Change-Number: 14363
Gerrit-PatchSet: 3
Gerrit-Owner: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20190605/2cd43e3b/attachment.html>


More information about the gerrit-log mailing list