Skip to content

Remove legacy endianshim.h compatibility layer#852

Merged
orgads merged 1 commit intoSIPp:masterfrom
lemenkov:remove_obsolete_endianness
Feb 10, 2026
Merged

Remove legacy endianshim.h compatibility layer#852
orgads merged 1 commit intoSIPp:masterfrom
lemenkov:remove_obsolete_endianness

Conversation

@lemenkov
Copy link
Member

Replace the endianshim.h header with direct platform-specific includes in prepare_pcap.c, using CMake-detected HAVE_* macros. The old shim contained compatibility code for platforms with unknown support status:

  • HP-UX (_HPUX_SOURCE)
  • Solaris (USG)
  • glibc < 2.9 (predates 2008)

The le16toh symbol existence checks (HAVE_DECL_LE16TOH) are removed as they were only needed for ancient glibc where endian.h existed but the macro didn't. If the header exists, the macro exists.

Supported platforms now use:

  • Linux: <endian.h>
  • macOS: <libkern/OSByteOrder.h>
  • BSD: <sys/endian.h>

Also simplify config.h.in by removing @var@ suffixes from boolean cmakedefines where they're unnecessary.

Assisted-by: Claude (Anthropic) https://claude.ai

Replace the endianshim.h header with direct platform-specific includes
in prepare_pcap.c, using CMake-detected HAVE_* macros. The old shim
contained compatibility code for platforms with unknown support status:

- HP-UX (_HPUX_SOURCE)
- Solaris (USG)
- glibc < 2.9 (predates 2008)

The le16toh symbol existence checks (HAVE_DECL_LE16TOH) are removed as
they were only needed for ancient glibc where endian.h existed but the
macro didn't. If the header exists, the macro exists.

Supported platforms now use:

- Linux: <endian.h>
- macOS: <libkern/OSByteOrder.h>
- BSD: <sys/endian.h>

Also simplify config.h.in by removing @var@ suffixes from boolean
cmakedefines where they're unnecessary.

Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
Assisted-by: Claude (Anthropic) <https://claude.ai>
@orgads orgads merged commit 1cb1b61 into SIPp:master Feb 10, 2026
9 checks passed
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.

2 participants