Change in pysim[master]: utils: fix sw_match()

dexter gerrit-no-reply at
Mon Mar 22 19:45:26 UTC 2021

dexter has uploaded this change for review. ( )

Change subject: utils: fix sw_match()

utils: fix sw_match()

The SW_match function takes a given status word and compares it against
a pattern that may contain wildcards (x or ?). This works by creating a
masked version of the SW using a pattern first (each hex digit is
replaced by a wildcard charafter if the pattern has a wildcard in the
same position). Once this is done, the resulting masked version is
compared at the pattern. However, the current implementation can not
work, since it compares the input SW against the pattern to decide
wihich chrafters should be masked. The input SW never contains wildcard

Change-Id: I805ad32160fcfcb8628bf919b64f7eee0fe03c7e
Related: OS#4963
M pySim/
1 file changed, 3 insertions(+), 2 deletions(-)

  git pull ssh:// refs/changes/57/23457/1

diff --git a/pySim/ b/pySim/
index e1fb4c7..0848b01 100644
--- a/pySim/
+++ b/pySim/
@@ -787,12 +787,13 @@
 	sw_lower = sw.lower()
 	sw_masked = ""
 	for i in range(0, 4):
-		if sw_lower[i] == '?':
+		if pattern[i] == '?':
 			sw_masked = sw_masked + '?'
-		elif sw_lower[i] == 'x':
+		elif pattern[i] == 'x':
 			sw_masked = sw_masked + 'x'
 			sw_masked = sw_masked + sw_lower[i]
+	# Compare the masked version against the pattern
 	return sw_masked == pattern
 def tabulate_str_list(str_list, width = 79, hspace = 2, lspace = 1, align_left = True):

To view, visit
To unsubscribe, or for help writing mail filters, visit

Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I805ad32160fcfcb8628bf919b64f7eee0fe03c7e
Gerrit-Change-Number: 23457
Gerrit-PatchSet: 1
Gerrit-Owner: dexter <pmaier at>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the gerrit-log mailing list