Make WordPress Core

Changeset 52717


Ignore:
Timestamp:
02/12/2022 01:06:17 PM (4 years ago)
Author:
SergeyBiryukov
Message:

Coding Standards: Remove unnecessary try/catch block in wp_get_webp_info().

This appears to be redundant, as none of the functions used inside the block throw an exception.

Follow-up to [50810].

See #54728.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/media.php

    r52425 r52717  
    52365236        }
    52375237
    5238         try {
    5239                 $handle = fopen( $filename, 'rb' );
    5240                 if ( $handle ) {
    5241                         $magic = fread( $handle, 40 );
    5242                         fclose( $handle );
    5243 
    5244                         // Make sure we got enough bytes.
    5245                         if ( strlen( $magic ) < 40 ) {
    5246                                 return compact( 'width', 'height', 'type' );
    5247                         }
    5248 
    5249                         // The headers are a little different for each of the three formats.
    5250                         // Header values based on WebP docs, see https://developers.google.com/speed/webp/docs/riff_container.
    5251                         switch ( substr( $magic, 12, 4 ) ) {
    5252                                 // Lossy WebP.
    5253                                 case 'VP8 ':
    5254                                         $parts  = unpack( 'v2', substr( $magic, 26, 4 ) );
    5255                                         $width  = (int) ( $parts[1] & 0x3FFF );
    5256                                         $height = (int) ( $parts[2] & 0x3FFF );
    5257                                         $type   = 'lossy';
    5258                                         break;
    5259                                 // Lossless WebP.
    5260                                 case 'VP8L':
    5261                                         $parts  = unpack( 'C4', substr( $magic, 21, 4 ) );
    5262                                         $width  = (int) ( $parts[1] | ( ( $parts[2] & 0x3F ) << 8 ) ) + 1;
    5263                                         $height = (int) ( ( ( $parts[2] & 0xC0 ) >> 6 ) | ( $parts[3] << 2 ) | ( ( $parts[4] & 0x03 ) << 10 ) ) + 1;
    5264                                         $type   = 'lossless';
    5265                                         break;
    5266                                 // Animated/alpha WebP.
    5267                                 case 'VP8X':
    5268                                         // Pad 24-bit int.
    5269                                         $width = unpack( 'V', substr( $magic, 24, 3 ) . "\x00" );
    5270                                         $width = (int) ( $width[1] & 0xFFFFFF ) + 1;
    5271                                         // Pad 24-bit int.
    5272                                         $height = unpack( 'V', substr( $magic, 27, 3 ) . "\x00" );
    5273                                         $height = (int) ( $height[1] & 0xFFFFFF ) + 1;
    5274                                         $type   = 'animated-alpha';
    5275                                         break;
    5276                         }
    5277                 }
    5278         } catch ( Exception $e ) {
     5238        $handle = fopen( $filename, 'rb' );
     5239
     5240        if ( false === $handle ) {
     5241                return compact( 'width', 'height', 'type' );
     5242        }
     5243
     5244        $magic = fread( $handle, 40 );
     5245        fclose( $handle );
     5246
     5247        // Make sure we got enough bytes.
     5248        if ( strlen( $magic ) < 40 ) {
     5249                return compact( 'width', 'height', 'type' );
     5250        }
     5251
     5252        // The headers are a little different for each of the three formats.
     5253        // Header values based on WebP docs, see https://developers.google.com/speed/webp/docs/riff_container.
     5254        switch ( substr( $magic, 12, 4 ) ) {
     5255                // Lossy WebP.
     5256                case 'VP8 ':
     5257                        $parts  = unpack( 'v2', substr( $magic, 26, 4 ) );
     5258                        $width  = (int) ( $parts[1] & 0x3FFF );
     5259                        $height = (int) ( $parts[2] & 0x3FFF );
     5260                        $type   = 'lossy';
     5261                        break;
     5262                // Lossless WebP.
     5263                case 'VP8L':
     5264                        $parts  = unpack( 'C4', substr( $magic, 21, 4 ) );
     5265                        $width  = (int) ( $parts[1] | ( ( $parts[2] & 0x3F ) << 8 ) ) + 1;
     5266                        $height = (int) ( ( ( $parts[2] & 0xC0 ) >> 6 ) | ( $parts[3] << 2 ) | ( ( $parts[4] & 0x03 ) << 10 ) ) + 1;
     5267                        $type   = 'lossless';
     5268                        break;
     5269                // Animated/alpha WebP.
     5270                case 'VP8X':
     5271                        // Pad 24-bit int.
     5272                        $width = unpack( 'V', substr( $magic, 24, 3 ) . "\x00" );
     5273                        $width = (int) ( $width[1] & 0xFFFFFF ) + 1;
     5274                        // Pad 24-bit int.
     5275                        $height = unpack( 'V', substr( $magic, 27, 3 ) . "\x00" );
     5276                        $height = (int) ( $height[1] & 0xFFFFFF ) + 1;
     5277                        $type   = 'animated-alpha';
     5278                        break;
    52795279        }
    52805280
Note: See TracChangeset for help on using the changeset viewer.