laforge has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-cbc/+/28788 )

Change subject: vty: Fix 'show message' not finding expired messages
......................................................................

vty: Fix 'show message' not finding expired messages

Change-Id: I23523876f1df167e8afd730b2164f133c2776085
---
M include/osmocom/cbc/cbc_message.h
M src/cbc_vty.c
M src/message_handling.c
3 files changed, 15 insertions(+), 1 deletion(-)

Approvals:
  Jenkins Builder: Verified
  fixeria: Looks good to me, but someone else must approve
  laforge: Looks good to me, approved



diff --git a/include/osmocom/cbc/cbc_message.h 
b/include/osmocom/cbc/cbc_message.h
index daf992d..9d3b5b8 100644
--- a/include/osmocom/cbc/cbc_message.h
+++ b/include/osmocom/cbc/cbc_message.h
@@ -102,6 +102,7 @@
 int cbc_message_new(const struct cbc_message *cbcmsg, struct rest_it_op *op);
 void cbc_message_delete(struct cbc_message *cbcmsg, struct rest_it_op *op);
 struct cbc_message *cbc_message_by_id(uint16_t message_id);
+struct cbc_message *cbc_message_expired_by_id(uint16_t message_id);
 int peer_new_cbc_message(struct cbc_peer *peer, struct cbc_message *cbcmsg);

 int cbc_message_del_peer(struct cbc_message *cbcmsg, struct cbc_peer *peer);
diff --git a/src/cbc_vty.c b/src/cbc_vty.c
index 50ec807..99363fb 100644
--- a/src/cbc_vty.c
+++ b/src/cbc_vty.c
@@ -205,8 +205,11 @@
        const struct smscb_message *smscb;
        struct cbc_message_peer *msg_peer;
        char *timestr;
+       uint16_t msgid = atoi(argv[0]);

-       cbc_msg = cbc_message_by_id(atoi(argv[0]));
+       cbc_msg = cbc_message_by_id(msgid);
+       if (!cbc_msg)
+               cbc_msg = cbc_message_expired_by_id(msgid);
        if (!cbc_msg) {
                vty_out(vty, "Unknown Messsage ID %s%s", argv[0], VTY_NEWLINE);
                return CMD_WARNING;
diff --git a/src/message_handling.c b/src/message_handling.c
index 73898e1..76739c3 100644
--- a/src/message_handling.c
+++ b/src/message_handling.c
@@ -235,3 +235,13 @@
        }
        return NULL;
 }
+
+struct cbc_message *cbc_message_expired_by_id(uint16_t message_id)
+{
+       struct cbc_message *cbc_msg;
+       llist_for_each_entry(cbc_msg, &g_cbc->expired_messages, list) {
+               if (cbc_msg->msg.message_id == message_id)
+                       return cbc_msg;
+       }
+       return NULL;
+}

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

Gerrit-Project: osmo-cbc
Gerrit-Branch: master
Gerrit-Change-Id: I23523876f1df167e8afd730b2164f133c2776085
Gerrit-Change-Number: 28788
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <[email protected]>
Gerrit-Reviewer: laforge <[email protected]>
Gerrit-MessageType: merged

Reply via email to