rename osim_file_find_* to osim_file_desc_find_*
they return an osim_file_desc, and not an osim_file, so fix the naming
diff --git a/include/osmocom/sim/sim.h b/include/osmocom/sim/sim.h
index e818a65..d7c4242 100644
--- a/include/osmocom/sim/sim.h
+++ b/include/osmocom/sim/sim.h
@@ -240,13 +240,13 @@
struct osim_file_desc *
-osim_file_find_name(struct osim_file_desc *parent, const char *name);
+osim_file_desc_find_name(struct osim_file_desc *parent, const char *name);
struct osim_file_desc *
-osim_file_find_fid(struct osim_file_desc *parent, uint16_t fid);
+osim_file_desc_find_fid(struct osim_file_desc *parent, uint16_t fid);
struct osim_file_desc *
-osim_file_find_sfid(struct osim_file_desc *parent, uint8_t sfid);
+osim_file_desc_find_sfid(struct osim_file_desc *parent, uint8_t sfid);
/* STATUS WORDS */
diff --git a/src/sim/core.c b/src/sim/core.c
index ddddc7d..2f129c9 100644
--- a/src/sim/core.c
+++ b/src/sim/core.c
@@ -172,7 +172,7 @@
}
struct osim_file_desc *
-osim_file_find_name(struct osim_file_desc *parent, const char *name)
+osim_file_desc_find_name(struct osim_file_desc *parent, const char *name)
{
struct osim_file_desc *ofd;
llist_for_each_entry(ofd, &parent->child_list, list) {
@@ -184,7 +184,7 @@
}
struct osim_file_desc *
-osim_file_find_fid(struct osim_file_desc *parent, uint16_t fid)
+osim_file_desc_find_fid(struct osim_file_desc *parent, uint16_t fid)
{
struct osim_file_desc *ofd;
llist_for_each_entry(ofd, &parent->child_list, list) {
@@ -196,10 +196,12 @@
}
struct osim_file_desc *
-osim_file_find_sfid(struct osim_file_desc *parent, uint8_t sfid)
+osim_file_desc_find_sfid(struct osim_file_desc *parent, uint8_t sfid)
{
struct osim_file_desc *ofd;
llist_for_each_entry(ofd, &parent->child_list, list) {
+ if (ofd->sfid == SFI_NONE)
+ continue;
if (ofd->sfid == sfid) {
return ofd;
}
diff --git a/utils/osmo-sim-test.c b/utils/osmo-sim-test.c
index d6299e9..e861748 100644
--- a/utils/osmo-sim-test.c
+++ b/utils/osmo-sim-test.c
@@ -276,7 +276,7 @@
/* attach the USIM profile, FIXME: do this based on AID match */
st->card->prof = osim_cprof_usim(st->card);
- st->cwd = osim_file_find_name(st->card->prof->mf, "ADF.USIM");
+ st->cwd = osim_file_desc_find_name(st->card->prof->mf, "ADF.USIM");
msgb_free(msg);