MDL-65763 lib: Upgrade MixMind DB reader lib to 1.4.1
[moodle.git] / lib / maxmind / MaxMind / Db / Reader / Util.php
1 <?php
3 namespace MaxMind\Db\Reader;
5 class Util
6 {
7     public static function read($stream, $offset, $numberOfBytes)
8     {
9         if ($numberOfBytes === 0) {
10             return '';
11         }
12         if (fseek($stream, $offset) === 0) {
13             $value = fread($stream, $numberOfBytes);
15             // We check that the number of bytes read is equal to the number
16             // asked for. We use ftell as getting the length of $value is
17             // much slower.
18             if (ftell($stream) - $offset === $numberOfBytes) {
19                 return $value;
20             }
21         }
22         throw new InvalidDatabaseException(
23             'The MaxMind DB file contains bad data'
24         );
25     }
26 }