Commit e6a3ee5f authored by Ed Maste's avatar Ed Maste Committed by Michael Tokarev
Browse files

bsd-user: OS-agnostic 64-bit SYSCTL types



Use existence of type as #ifdef condition rather than FreeBSD-specific
version check, as suggested by Patrick Welche.

Also handle the signed (CTLTYPE_S64) case identically to the unsigned
(CTLTYPE_U64) case, per later patches in the FreeBSD ports tree
(emulators/qemu-devel/files/patch-z-arm-bsd-user-001).

Signed-off-by: default avatarEd Maste <emaste@freebsd.org>
Signed-off-by: default avatarMichael Tokarev <mjt@tls.msk.ru>
parent 38ebb396
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -211,10 +211,11 @@ static int sysctl_oldcvt(void *holdp, size_t holdlen, uint32_t kind)
        *(uint64_t *)holdp = tswap64(*(unsigned long *)holdp);
        break;
#endif
#if !defined(__FreeBSD_version) || __FreeBSD_version < 900031
    case CTLTYPE_QUAD:
#else
#ifdef CTLTYPE_U64
    case CTLTYPE_S64:
    case CTLTYPE_U64:
#else
    case CTLTYPE_QUAD:
#endif
        *(uint64_t *)holdp = tswap64(*(uint64_t *)holdp);
        break;