-
-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Several updates - see individual commits #96
Conversation
These were only manual due to different build requirements. This adds a new "xtest" category, which is included in the automatic tests but meets the requirements for the darwin_c tests. TESTED: The darwin_c test are now included in the "test" target.
It's more consistent with normal naming conventions to use a leading underscore for the name of this flag. Thus, the flag is now _MACPORTS_LEGACY_MIN_EARLY_SDK_ALLOWED. Since this feature is only recently added and rarely needed, it's not too likely that this change will break anything. TESTED: Updated name has desired effect.
Apple failed to update AvailabilityMacros.h for the 15.0 SDK, so it appears to be a 14.x SDK. This adds a workaround for that. TESTED: The checksdkversion test now reports correct results for all available SDKs (10.4-15.0).
This adds a wrapper to make the scandir() 'compar' argument and the provided alphasort() function match the types used in 10.8+, thereby avoiding warnings, and in some cases errors, due to the pointer type mismatch. To avoid breaking code expecting the old behavior, this hack is only applied when _MACPORTS_LEGACY_COMPATIBLE_SCANDIR is defined nonzero. Closes: https://trac.macports.org/ticket/70702 TESTED: Tests pass on all OS versions with this fix.
This tests for the pointer-type mismatch issue with the scandir() 'compar' arg. There are two versions, one verifying the expected old behavior, and another verifying the fix. See: https://trac.macports.org/ticket/70702 Also adds alphasort() and scandir() to the darwin_c tests. TESTED: Fails or gets warning on <10.8 without fix. Passes with fix.
TESTED: Fails or gets warning on <10.8 without fix. Passes with fix.
This is primarily to fix a bug in dprintf() which erroneously closed the fd after its use, but is also mildly more efficient. Based on some work by raf <[email protected]> TESTED: Passes the updated test, which failed before this fix.
This performs a much more thorough test of dprintf(), including verifying that it does not close the underlying fd. TESTED: Fails when the old close bug is present, passes otherwise.
Also rewrites dprintf() to be a wrapper around vdprintf(), rather than duplicating the "guts". Based on some work by raf <[email protected]> TESTED: Passes updated test.
Also adds vdprintf() to darwin_c tests. TESTED: Fails without the new vdprintf() addition; passes with it.
This uses a kludgy and nonportable method to avoid the ill effects of fclose() on locks (see the comment). It should be reliable for all relevant OSX versions, but it can be reverted if it causes trouble. TESTED: Passes tests, which would fail if the close() disable didn't work.
@mascguy @macportsraf |
@mascguy |
@mascguy I have another bunch of changes coming, but my intent is to make this round into a -devel version first. The next round is mostly about cleaning up after SDK 15, which has really proved to be the gift that keeps on giving (and not in a good way). |
@mascguy |
@fhwright I don't see an explanation why a local buffer is used in |
It's better to get the free allocation on the stack than to go through Apple's code also uses the stack for the |
@macportsraf |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry for the delay. LGTM, great work as always folks!
- The darwin_c tests are now included in the automatic tests - Works around Apple's broken versioning in the macOS 15 SDK - Implements scandir() compatibility feature - Fixes dprintf() bug and implements vdprintf() See: macports/macports-legacy-support#96
Notably:
Tested on: