ElektraInitiative / libelektra

Elektra serves as a universal and secure framework to access configuration settings in a global, hierarchical key database.
https://www.libelektra.org
BSD 3-Clause "New" or "Revised" License
208 stars 123 forks source link

Move headers Part 2 #4940

Closed kodebach closed 1 year ago

kodebach commented 1 year ago

What happens in this PR?

Continuing from #4920, this PR includes further progress on the decisions mentioned in #4920. The goal for this PR is to finish all the header changes, i.e. src/include should (basically) have it's new contents completed with this PR.

Hints for reviewers

As with #4920 this PR has a large number of changed files. Most of them once again are only updated #includes.

All other changed files are only changes in #includes.

Those are the main changes of this PR, below are some extra fixes to please the CI:

Basics

Checklist

Review

Labels

kodebach commented 1 year ago

elektraMalloc et al. are likely broken (for some use cases) in this PR. See https://github.com/kodebach/libelektra/commit/dd1b9ec85c16d0e68b35e5f55592f18f386ab0c8 for how I plan to rectify that. This works (*) and I'm pretty sure is an improvement. It definitely allows the compiler to perform more analysis, since I needed https://github.com/kodebach/libelektra/commit/bd1ff1ed9001a7b997a90d089562b99cc67ef677 to fix some GCC warnings after the change. It may also improve performance, since the compiler might optimize differently. However, I'm also open to reverting these changes and going back to having elektraMalloc et al. as normal functions in libelektra-base like elektraFormat.

(*) the Checks in https://github.com/kodebach/libelektra/pull/41 (previous incarnation of these PRs) compile

EDIT: I decided to instead leave the functions unchanged for this PR, and only introduce them as static inline in #4941.

kodebach commented 1 year ago

@lawli3t @atmaxinger @hannes99 @flo91 @lukashartl If you review, please read the PR description it explains what's happening in this PR and which files have interesting changes.

kodebach commented 1 year ago

jenkins build libelektra please

kodebach commented 1 year ago

jenkins build libelektra please