-               /* Fetch the channel number that is to be matched against from the current channel information struct */\r
-               uint16_t SearchChannelNumber = (SearchByRemoteChannel) ? ChannelData->RemoteNumber : ChannelData->LocalNumber;\r
+               bool FoundMatch = false;\r
+               \r
+               switch (SearchKey)\r
+               {\r
+                       case CHANNEL_SEARCH_LOCALNUMBER:\r
+                               FoundMatch = (SearchValue == ChannelData->LocalNumber);\r
+                               break;\r
+                       case CHANNEL_SEARCH_REMOTENUMBER:\r
+                               FoundMatch = (SearchValue == ChannelData->RemoteNumber);\r
+                               break;\r
+                       case CHANNEL_SEARCH_PSM:\r
+                               FoundMatch = (SearchValue == ChannelData->PSM);\r
+                               break;\r
+               }\r