[PATCH] libosmocore[master]: Fix broken ctrl commands without lookups

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Max gerrit-no-reply at lists.osmocom.org
Tue May 2 17:04:06 UTC 2017


Hello Jenkins Builder,

I'd like you to reexamine a change.  Please visit

    https://gerrit.osmocom.org/2461

to look at the new patch set (#2).

Fix broken ctrl commands without lookups

Recent changes to libosmoctrl resulted in ctrl comands without lookup
function being broken. Fix this by making local lookup helpers mutually
exclusive with cmd's lookup helpers (lookup helper from cmd will have
higher priority), init rc to 0 by default and return 0 for unmatched
root node lookups for fsm.

Change-Id: Iddd20602047ebd9be1b668593f5dfa6f1d3e8369
---
M src/ctrl/control_if.c
M src/ctrl/fsm_ctrl_commands.c
2 files changed, 5 insertions(+), 7 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/61/2461/2

diff --git a/src/ctrl/control_if.c b/src/ctrl/control_if.c
index c4b6f91..14739f9 100644
--- a/src/ctrl/control_if.c
+++ b/src/ctrl/control_if.c
@@ -234,15 +234,12 @@
 	}
 
 	for (i=0;i<vector_active(vline);i++) {
-		struct lookup_helper *lh;
-		int rc;
+		int rc = 0;
 
 		if (ctrl->lookup)
 			rc = ctrl->lookup(data, vline, &node, &cmd->node, &i);
-		else
-			rc = 0;
-
-		if (!rc) {
+		else {
+			struct lookup_helper *lh;
 			llist_for_each_entry(lh, &ctrl_lookup_helpers, list) {
 				rc = lh->lookup(data, vline, &node, &cmd->node, &i);
 				if (rc)
diff --git a/src/ctrl/fsm_ctrl_commands.c b/src/ctrl/fsm_ctrl_commands.c
index 0dfc396..64324f2 100644
--- a/src/ctrl/fsm_ctrl_commands.c
+++ b/src/ctrl/fsm_ctrl_commands.c
@@ -33,7 +33,8 @@
 				goto err_missing;
 			*node_data = fsm;
 			*node_type = CTRL_NODE_FSM;
-		}
+		} else
+			return 0;
 		break;
 	case CTRL_NODE_FSM:
 		fsm = *node_data;

-- 
To view, visit https://gerrit.osmocom.org/2461
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Iddd20602047ebd9be1b668593f5dfa6f1d3e8369
Gerrit-PatchSet: 2
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Max <msuraev at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max <msuraev at sysmocom.de>



More information about the gerrit-log mailing list