From 23eb8600ab692463cd46ce8c504e51c959ca1a00 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Sun, 6 Aug 2017 18:46:03 +0100 Subject: [PATCH] Added methods for endian-flipping --- src/pocketmine/utils/Binary.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/pocketmine/utils/Binary.php b/src/pocketmine/utils/Binary.php index c78861e7f..6ae9ce3a5 100644 --- a/src/pocketmine/utils/Binary.php +++ b/src/pocketmine/utils/Binary.php @@ -55,6 +55,20 @@ class Binary{ return $value & 0xffffffff; } + + public static function flipShortEndianness(int $value) : int{ + return self::readLShort(self::writeShort($value)); + } + + public static function flipIntEndianness(int $value) : int{ + return self::readLInt(self::writeInt($value)); + } + + public static function flipLongEndianness(int $value) : int{ + return self::readLLong(self::writeLong($value)); + } + + private static function checkLength($str, $expect){ assert(($len = strlen($str)) === $expect, "Expected $expect bytes, got $len"); }