Skip to content

Commit 16a9dd7

Browse files
devnexennikic
authored andcommitted
Avoid directly adding to string literal
This fixes a Clang warning.
1 parent b882892 commit 16a9dd7

File tree

1 file changed

+35
-15
lines changed

1 file changed

+35
-15
lines changed

ext/standard/image.c

Lines changed: 35 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)