Skip to content

Commit ff8d2b4

Browse files
committed
Utilize p->has_name. Add p->has_id
1 parent a0e81bd commit ff8d2b4

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

flash/partition_info/partition_info.c

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ typedef struct {
4242
uint32_t first_sector;
4343
uint32_t last_sector;
4444
uint32_t flags_and_permissions;
45+
bool has_id;
4546
uint64_t partition_id;
4647
bool has_name;
4748
char name[PARTITION_NAME_MAX + 1];
@@ -95,8 +96,10 @@ bool read_next_partition(pico_partition_table_t *pt, pico_partition_t *p) {
9596
p->first_sector = PART_LOC_FIRST(location);
9697
p->last_sector = PART_LOC_LAST(location);
9798
p->flags_and_permissions = pt->table[pos++];
99+
p->has_name = p->flags_and_permissions & PICOBIN_PARTITION_FLAGS_HAS_NAME_BITS;
100+
p->has_id = p->flags_and_permissions & PICOBIN_PARTITION_FLAGS_HAS_ID_BITS;
98101

99-
if (p->flags_and_permissions & PICOBIN_PARTITION_FLAGS_HAS_ID_BITS) {
102+
if (p->has_id) {
100103
uint32_t id_low = pt->table[pos++];
101104
uint32_t id_high = pt->table[pos++];
102105
p->partition_id = ((uint64_t)id_high << 32) | id_low;
@@ -107,7 +110,6 @@ bool read_next_partition(pico_partition_table_t *pt, pico_partition_t *p) {
107110

108111
p->extra_family_id_count = (p->flags_and_permissions & PICOBIN_PARTITION_FLAGS_ACCEPTS_NUM_EXTRA_FAMILIES_BITS)
109112
>> PICOBIN_PARTITION_FLAGS_ACCEPTS_NUM_EXTRA_FAMILIES_LSB;
110-
p->has_name = p->flags_and_permissions & PICOBIN_PARTITION_FLAGS_HAS_NAME_BITS;
111113
if (p->extra_family_id_count | p->has_name) {
112114
// Read variable length fields
113115
uint32_t extra_family_ids_and_name[PARTITION_EXTRA_FAMILY_ID_MAX + (((PARTITION_NAME_MAX + 1) / sizeof(uint32_t)) + 1)];
@@ -183,10 +185,10 @@ int main() {
183185
(p.flags_and_permissions & PICOBIN_PARTITION_PERMISSION_NSBOOT_W_BITS ? "w" : ""),
184186
(p.flags_and_permissions & PICOBIN_PARTITION_PERMISSION_NS_R_BITS ? "r" : ""),
185187
(p.flags_and_permissions & PICOBIN_PARTITION_PERMISSION_NS_W_BITS ? "w" : ""));
186-
if (p.flags_and_permissions & PICOBIN_PARTITION_FLAGS_HAS_ID_BITS) {
188+
if (p.has_id) {
187189
printf(", id=%016llx", p.partition_id);
188190
}
189-
if (p.flags_and_permissions & PICOBIN_PARTITION_FLAGS_HAS_NAME_BITS) {
191+
if (p.has_name) {
190192
printf(", \"%s\"", p.name);
191193
}
192194

0 commit comments

Comments
 (0)