From: Ilia Alshanetsky Date: Wed, 4 Dec 2002 20:58:04 +0000 (+0000) Subject: Made imagecreatefromxpm() work once again. X-Git-Tag: RELEASE_1_0b3~174 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5779f9bb0f43fece281c59def8526513c7adf11b;p=php Made imagecreatefromxpm() work once again. --- diff --git a/ext/gd/gd.c b/ext/gd/gd.c index fcde3dbaf7..98d15579e6 100644 --- a/ext/gd/gd.c +++ b/ext/gd/gd.c @@ -1418,10 +1418,16 @@ static void _php_image_create_from(INTERNAL_FUNCTION_PARAMETERS, int image_type, } if (!im && fp) { - if (image_type == PHP_GDIMG_TYPE_GD2PART) { - im = (*func_p)(fp, Z_LVAL_PP(srcx), Z_LVAL_PP(srcy), Z_LVAL_PP(width), Z_LVAL_PP(height)); - } else { - im = (*func_p)(fp); + switch (image_type) { + case PHP_GDIMG_TYPE_GD2PART: + im = (*func_p)(fp, Z_LVAL_PP(srcx), Z_LVAL_PP(srcy), Z_LVAL_PP(width), Z_LVAL_PP(height)); + break; + case PHP_GDIMG_TYPE_XPM: + im = gdImageCreateFromXpm(fn); + break; + default: + im = (*func_p)(fp); + break; } fflush(fp); @@ -1481,22 +1487,15 @@ PHP_FUNCTION(imagecreatefromxbm) /* }}} */ #endif /* HAVE_GD_XBM */ +#ifdef HAVE_GD_XPM /* {{{ proto int imagecreatefromxpm(string filename) Create a new image from XPM file or URL */ PHP_FUNCTION(imagecreatefromxpm) { - /* -#ifdef HAVE_GD_XPM _php_image_create_from(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_XPM, "XPM", gdImageCreateFromXpm, NULL); -#else - */ - php_error_docref(NULL TSRMLS_CC, E_WARNING, "No XPM support in this PHP build"); - RETURN_FALSE; - /* -#endif - */ } /* }}} */ +#endif #ifdef HAVE_GD_WBMP /* {{{ proto int imagecreatefromwbmp(string filename) diff --git a/ext/gd/libgd/gd.h b/ext/gd/libgd/gd.h index 5031509c71..a08df2892d 100644 --- a/ext/gd/libgd/gd.h +++ b/ext/gd/libgd/gd.h @@ -228,6 +228,8 @@ gdImagePtr gdImageCreateFromGd2PartCtx(gdIOCtxPtr in, int srcx, int srcy, int w, gdImagePtr gdImageCreateFromXbm(FILE *fd); +gdImagePtr gdImageCreateFromXpm (char *filename); + void gdImageDestroy(gdImagePtr im); /* Replaces or blends with the background depending on the