Skip to content

Fix language lookups: empty-code collisions and unchecked map access - #488

Open
KillerX wants to merge 3 commits into
fix/05-vidispine-stream-idsfrom
fix/06-languages-empty-codes
Open

Fix language lookups: empty-code collisions and unchecked map access#488
KillerX wants to merge 3 commits into
fix/05-vidispine-stream-idsfrom
fix/06-languages-empty-codes

Conversation

@KillerX

@KillerX KillerX commented Aug 21, 2026

Copy link
Copy Markdown
Member

ParseLanguageCode("") returned Swahili with nil error (three entries share an empty two-letter key); LanguageKeysToOrderedLanguages silently returned zero-value languages on a miss. Empty keys are now skipped, keys resolve via ParseLanguageCode (handles two- and three-letter codes), unknown keys panic loudly.

Part of the stacked bugfix series fix/00 → fix/20; based on fix/05-vidispine-stream-ids.

🤖 Generated with Claude Code

@KillerX
KillerX force-pushed the fix/06-languages-empty-codes branch from 3e8a3b4 to db959d9 Compare August 21, 2026 10:59
KillerX and others added 3 commits August 21, 2026 13:08
ByISO6392TwoLetter (and ByISO6391) put entries with empty codes into the
map, so LanguagesByISOTwoLetter[""] resolved to whichever language was
last in the list and ParseLanguageCode("") succeeded instead of
returning ErrLanguageParsingFailed. LanguageKeysToOrderedLanguages
silently mapped unknown keys to a zero-value Language that sorts like
Norwegian; it now panics naming the offending key.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Callers pass both two- and three-letter codes, so the direct
LanguagesByISO lookup rejected valid two-letter keys. The
many-languages test also used "sv", which does not exist in the
language table and was only passing via the old zero-value fallback.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@KillerX
KillerX force-pushed the fix/06-languages-empty-codes branch from db959d9 to 8126839 Compare August 21, 2026 11:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant