@@ -1229,6 +1229,7 @@ PHP_FUNCTION(image_type_to_extension)
12291229{
12301230 zend_long image_type ;
12311231 zend_bool inc_dot = 1 ;
1232+ const char * imgext = NULL ;
12321233
12331234 ZEND_PARSE_PARAMETERS_START (1 , 2 )
12341235 Z_PARAM_LONG (image_type )
@@ -1238,38 +1239,57 @@ PHP_FUNCTION(image_type_to_extension)
12381239
12391240 switch (image_type ) {
12401241 case IMAGE_FILETYPE_GIF :
1241- RETURN_STRING (".gif" + !inc_dot );
1242+ imgext = ".gif" ;
1243+ break ;
12421244 case IMAGE_FILETYPE_JPEG :
1243- RETURN_STRING (".jpeg" + !inc_dot );
1245+ imgext = ".jpeg" ;
1246+ break ;
12441247 case IMAGE_FILETYPE_PNG :
1245- RETURN_STRING (".png" + !inc_dot );
1248+ imgext = ".png" ;
1249+ break ;
12461250 case IMAGE_FILETYPE_SWF :
12471251 case IMAGE_FILETYPE_SWC :
1248- RETURN_STRING (".swf" + !inc_dot );
1252+ imgext = ".swf" ;
1253+ break ;
12491254 case IMAGE_FILETYPE_PSD :
1250- RETURN_STRING (".psd" + !inc_dot );
1255+ imgext = ".psd" ;
1256+ break ;
12511257 case IMAGE_FILETYPE_BMP :
12521258 case IMAGE_FILETYPE_WBMP :
1253- RETURN_STRING (".bmp" + !inc_dot );
1259+ imgext = ".bmp" ;
1260+ break ;
12541261 case IMAGE_FILETYPE_TIFF_II :
12551262 case IMAGE_FILETYPE_TIFF_MM :
1256- RETURN_STRING (".tiff" + !inc_dot );
1263+ imgext = ".tiff" ;
1264+ break ;
12571265 case IMAGE_FILETYPE_IFF :
1258- RETURN_STRING (".iff" + !inc_dot );
1266+ imgext = ".iff" ;
1267+ break ;
12591268 case IMAGE_FILETYPE_JPC :
1260- RETURN_STRING (".jpc" + !inc_dot );
1269+ imgext = ".jpc" ;
1270+ break ;
12611271 case IMAGE_FILETYPE_JP2 :
1262- RETURN_STRING (".jp2" + !inc_dot );
1272+ imgext = ".jp2" ;
1273+ break ;
12631274 case IMAGE_FILETYPE_JPX :
1264- RETURN_STRING (".jpx" + !inc_dot );
1275+ imgext = ".jpx" ;
1276+ break ;
12651277 case IMAGE_FILETYPE_JB2 :
1266- RETURN_STRING (".jb2" + !inc_dot );
1278+ imgext = ".jb2" ;
1279+ break ;
12671280 case IMAGE_FILETYPE_XBM :
1268- RETURN_STRING (".xbm" + !inc_dot );
1281+ imgext = ".xbm" ;
1282+ break ;
12691283 case IMAGE_FILETYPE_ICO :
1270- RETURN_STRING (".ico" + !inc_dot );
1284+ imgext = ".ico" ;
1285+ break ;
12711286 case IMAGE_FILETYPE_WEBP :
1272- RETURN_STRING (".webp" + !inc_dot );
1287+ imgext = ".webp" ;
1288+ break ;
1289+ }
1290+
1291+ if (imgext ) {
1292+ RETURN_STRING (& imgext [!inc_dot ]);
12731293 }
12741294
12751295 RETURN_FALSE ;
0 commit comments