Skip to content

Commit eb8e69f

Browse files
authored
fix: fixes for misused return statements. (#517)
1 parent a534e2a commit eb8e69f

2 files changed

Lines changed: 1122 additions & 957 deletions

File tree

patterns/dicom.hexpat

Lines changed: 19 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -117,9 +117,7 @@ struct Element {
117117
u32 limit = $ + length;
118118
Element value[while ($ < limit)];
119119
}
120-
return;
121-
}
122-
if (tag_value(tag) == Item) {
120+
} else if (tag_value(tag) == Item) {
123121
// sequence Item or encapsulated Pixel Data fragment
124122
if (tag_value(parent.tag) == PixelData) {
125123
// Pixel Data fragment
@@ -137,29 +135,27 @@ struct Element {
137135
u32 limit = $ + length;
138136
Element value[while ($ < limit)];
139137
}
140-
return;
141-
}
142-
if (tag_value(tag) == ItemDelimitationItem || tag_value(tag) == SequenceDelimitationItem) {
138+
} else if (tag_value(tag) == ItemDelimitationItem || tag_value(tag) == SequenceDelimitationItem) {
143139
std::assert(length == 0, "delimitation items should have zero length");
144140
break;
145-
}
146-
if (length == UNDEFINED_LENGTH) {
141+
} else if (length == UNDEFINED_LENGTH) {
147142
std::error(std::format("expected defined length for {} [{}]", tag, vr));
148-
}
149-
match (vr) {
150-
("AE"|"AS"|"CS"|"DA"|"DS"|"DT"|"IS"|"LO"|"PN"|"SH"|"TM"|"UC"|"UI"): StringValues value;
151-
("AT"): Values<Tag> value;
152-
("FL"|"OF"): Values<float> value;
153-
("FD"|"OD"): Values<double> value;
154-
("LT"|"ST"|"UR"|"UT"): char value[length];
155-
("OB"|"UN"): std::mem::Bytes<length> value;
156-
("OL"|"UL"): Values<u32> value;
157-
("OV"|"UV"): Values<u64> value;
158-
("OW"|"US"): Values<u16> value;
159-
("SL"): Values<s32> value;
160-
("SS"): Values<s16> value;
161-
("SV"): Values<s64> value;
162-
(_): std::mem::Bytes<length> value;
143+
} else {
144+
match (vr) {
145+
("AE"|"AS"|"CS"|"DA"|"DS"|"DT"|"IS"|"LO"|"PN"|"SH"|"TM"|"UC"|"UI"): StringValues value;
146+
("AT"): Values<Tag> value;
147+
("FL"|"OF"): Values<float> value;
148+
("FD"|"OD"): Values<double> value;
149+
("LT"|"ST"|"UR"|"UT"): char value[length];
150+
("OB"|"UN"): std::mem::Bytes<length> value;
151+
("OL"|"UL"): Values<u32> value;
152+
("OV"|"UV"): Values<u64> value;
153+
("OW"|"US"): Values<u16> value;
154+
("SL"): Values<s32> value;
155+
("SS"): Values<s16> value;
156+
("SV"): Values<s64> value;
157+
(_): std::mem::Bytes<length> value;
158+
}
163159
}
164160
} [[format_read("format_element")]];
165161

0 commit comments

Comments
 (0)