Skip to content

Turn main EBML macros into static inlines#264

Merged
mbunkus merged 1 commit into
Matroska-Org:masterfrom
robUx4:ebml_macros
Feb 25, 2024
Merged

Turn main EBML macros into static inlines#264
mbunkus merged 1 commit into
Matroska-Org:masterfrom
robUx4:ebml_macros

Conversation

@robUx4
Copy link
Copy Markdown
Contributor

@robUx4 robUx4 commented Feb 24, 2024

We have stronger typing and have the better idea of how they should be called.

Once downside is that they are not grouped together anymore.

Depends on #265

@robUx4 robUx4 added api-break breaks the API (e.g. programs using it will have to adjust their source code) abi-break breaks the ABI (e.g. programs linked against the library have to be recompiled) labels Feb 24, 2024
@robUx4 robUx4 force-pushed the ebml_macros branch 3 times, most recently from 7436d75 to 274d83c Compare February 24, 2024 09:51
@mbunkus
Copy link
Copy Markdown
Contributor

mbunkus commented Feb 24, 2024

Unfortunately this breaks any chance of having a code base compile with both libEBML < 2 and >= 2. I'll have to re-add all the macros back in MKVToolNix for as long as I want to support both. I'll hold off on testing this PR for the time being.

@robUx4 robUx4 force-pushed the ebml_macros branch 2 times, most recently from 723355c to 4fdf0b2 Compare February 25, 2024 09:41
@robUx4 robUx4 requested a review from mbunkus February 25, 2024 09:42
@robUx4
Copy link
Copy Markdown
Contributor Author

robUx4 commented Feb 25, 2024

@mbunkus I updated the MR to keep the existing macros, they redirect to the typed functions.

So we have stronger typing and a better sense of the input type.

Put the "macros" right after the input type declaration they are associated with.
@mbunkus mbunkus merged commit 8179549 into Matroska-Org:master Feb 25, 2024
@robUx4 robUx4 deleted the ebml_macros branch February 25, 2024 13:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

abi-break breaks the ABI (e.g. programs linked against the library have to be recompiled) api-break breaks the API (e.g. programs using it will have to adjust their source code)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants