From 46a7a3fcc22f4ff89b2f81302c5d130cf4745eb2 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sat, 16 Jul 2022 11:47:47 +0200 Subject: [PATCH] filesystem: keep track of currently selected ADF As it is possible to select files relative to the currently selected ADF, we should keep track of that. Change-Id: I83c93fdcd23b1d3877644ef0bf72d330343fbbc7 --- pySim/filesystem.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pySim/filesystem.py b/pySim/filesystem.py index c40eaf8b..813bebb4 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -1253,6 +1253,7 @@ class RuntimeState: self.mf = CardMF(profile=profile) self.card = card self.selected_file = self.mf # type: CardDF + self.selected_adf = None self.profile = profile self.selected_file_fcp = None self.selected_file_fcp_hex = None @@ -1337,6 +1338,7 @@ class RuntimeState: atr = i2h(self.card.reset()) # select MF to reset internal state and to verify card really works self.select('MF', cmd_app) + self.selected_adf = None return atr def get_cwd(self) -> CardDF: @@ -1445,6 +1447,7 @@ class RuntimeState: try: if isinstance(p, CardADF): (data, sw) = self.card.select_adf_by_aid(p.aid) + self.selected_adf = p else: (data, sw) = self.card._scc.select_file(p.fid) self.selected_file = p