#include "SAPI.h"
#include "php_gd.h"
#include "ext/standard/fsock.h"
+#include "ext/standard/info.h"
#if HAVE_SYS_WAIT_H
# include <sys/wait.h>
#if HAVE_LIBGD
-#include "ext/standard/info.h"
+static int le_gd, le_gd_font;
+#if HAVE_LIBT1
+static int le_ps_font, le_ps_enc;
+#endif
#include <gd.h>
#include <gdfontt.h> /* 1 Tiny font */
return FAILURE;
}
#endif
- GDG(le_gd) = zend_register_list_destructors_ex(php_free_gd_image, NULL, "gd", module_number);
- GDG(le_gd_font) = zend_register_list_destructors_ex(php_free_gd_font, NULL, "gd font", module_number);
+ le_gd = zend_register_list_destructors_ex(php_free_gd_image, NULL, "gd", module_number);
+ le_gd_font = zend_register_list_destructors_ex(php_free_gd_font, NULL, "gd font", module_number);
#if HAVE_LIBT1
T1_SetBitmapPad(8);
T1_InitLib(NO_LOGFILE|IGNORE_CONFIGFILE|IGNORE_FONTDATABASE);
T1_SetLogLevel(T1LOG_DEBUG);
- GDG(le_ps_font) = zend_register_list_destructors_ex(php_free_ps_font, NULL, "gd PS font", module_number);
- GDG(le_ps_enc) = zend_register_list_destructors_ex(php_free_ps_enc, NULL, "gd PS encoding", module_number);
+ le_ps_font = zend_register_list_destructors_ex(php_free_ps_font, NULL, "gd PS font", module_number);
+ le_ps_enc = zend_register_list_destructors_ex(php_free_ps_enc, NULL, "gd PS encoding", module_number);
#endif
REGISTER_LONG_CONSTANT("IMG_GIF", 1, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("IMG_JPG", 2, CONST_CS | CONST_PERSISTENT);
{
GDLS_FETCH();
- return GDG(le_gd);
+ return le_gd;
}
#ifndef HAVE_GDIMAGECOLORRESOLVE
* that overlap with the old fonts (with indices 1-5). The first
* list index given out is always 1.
*/
- ind = 5 + zend_list_insert(font, GDG(le_gd_font));
+ ind = 5 + zend_list_insert(font, le_gd_font);
RETURN_LONG(ind);
}
im = gdImageCreate(Z_LVAL_PP(x_size), Z_LVAL_PP(y_size));
- ZEND_REGISTER_RESOURCE(return_value, im, GDG(le_gd));
+ ZEND_REGISTER_RESOURCE(return_value, im, le_gd);
}
/* }}} */
RETURN_FALSE;
}
- ZEND_REGISTER_RESOURCE(return_value, im, GDG (le_gd));
+ ZEND_REGISTER_RESOURCE(return_value, im, le_gd);
#else
php_error(E_ERROR, "ImageCreateFromString: Only available with GD 1.5+");
#endif
RETURN_FALSE;
}
- ZEND_REGISTER_RESOURCE(return_value, im, GDG(le_gd));
+ ZEND_REGISTER_RESOURCE(return_value, im, le_gd);
}
/* {{{ proto int imagecreatefromgif(string filename)
WRONG_PARAM_COUNT;
}
- ZEND_FETCH_RESOURCE(im, gdImagePtr, imgind, -1, "Image", GDG(le_gd));
+ ZEND_FETCH_RESOURCE(im, gdImagePtr, imgind, -1, "Image", le_gd);
if (argc > 1) {
convert_to_string_ex(file);
WRONG_PARAM_COUNT;
}
- ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", GDG(le_gd));
+ ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", le_gd);
zend_list_delete(Z_LVAL_PP(IM));
WRONG_PARAM_COUNT;
}
- ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", GDG(le_gd));
+ ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", le_gd);
convert_to_long_ex(red);
convert_to_long_ex(green);
WRONG_PARAM_COUNT;
}
- ZEND_FETCH_RESOURCE(dst, gdImagePtr, dstim, -1, "Image", GDG(le_gd));
- ZEND_FETCH_RESOURCE(src, gdImagePtr, srcim, -1, "Image", GDG(le_gd));
+ ZEND_FETCH_RESOURCE(dst, gdImagePtr, dstim, -1, "Image", le_gd);
+ ZEND_FETCH_RESOURCE(src, gdImagePtr, srcim, -1, "Image", le_gd);
gdImagePaletteCopy(dst, src);
#else
WRONG_PARAM_COUNT;
}
- ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", GDG(le_gd));
+ ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", le_gd);
convert_to_long_ex(x);
convert_to_long_ex(y);
WRONG_PARAM_COUNT;
}
- ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", GDG(le_gd));
+ ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", le_gd);
convert_to_long_ex(red);
convert_to_long_ex(green);
WRONG_PARAM_COUNT;
}
- ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", GDG(le_gd));
+ ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", le_gd);
convert_to_long_ex(red);
convert_to_long_ex(green);
WRONG_PARAM_COUNT;
}
- ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", GDG(le_gd));
+ ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", le_gd);
convert_to_long_ex(index);
col = Z_LVAL_PP(index);
WRONG_PARAM_COUNT;
}
- ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", GDG(le_gd));
+ ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", le_gd);
convert_to_long_ex(red);
convert_to_long_ex(green);
WRONG_PARAM_COUNT;
}
- ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", GDG(le_gd));
+ ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", le_gd);
convert_to_long_ex(red);
convert_to_long_ex(green);
WRONG_PARAM_COUNT;
}
- ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", GDG(le_gd));
+ ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", le_gd);
convert_to_long_ex(color);
convert_to_long_ex(red);
WRONG_PARAM_COUNT;
}
- ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", GDG(le_gd));
+ ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", le_gd);
convert_to_long_ex(index);
col = Z_LVAL_PP(index);
input = Z_DVAL_PP(inputgamma);
output = Z_DVAL_PP(outputgamma);
- ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", GDG(le_gd));
+ ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", le_gd);
for (i = 0; i < gdImageColorsTotal(im); i++) {
im->red[i] = (int)((pow((pow((im->red[i] / 255.0), input)), 1.0 / output) * 255)+.5);
WRONG_PARAM_COUNT;
}
- ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", GDG(le_gd));
+ ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", le_gd);
convert_to_long_ex(x);
convert_to_long_ex(y);
WRONG_PARAM_COUNT;
}
- ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", GDG(le_gd));
+ ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", le_gd);
convert_to_long_ex(x1);
convert_to_long_ex(y1);
WRONG_PARAM_COUNT;
}
- ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", GDG(le_gd));
+ ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", le_gd);
convert_to_long_ex(x1);
convert_to_long_ex(y1);
WRONG_PARAM_COUNT;
}
- ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", GDG(le_gd));
+ ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", le_gd);
convert_to_long_ex(x1);
convert_to_long_ex(y1);
WRONG_PARAM_COUNT;
}
- ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", GDG(le_gd));
+ ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", le_gd);
convert_to_long_ex(x1);
convert_to_long_ex(y1);
WRONG_PARAM_COUNT;
}
- ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", GDG(le_gd));
+ ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", le_gd);
convert_to_long_ex(cx);
convert_to_long_ex(cy);
WRONG_PARAM_COUNT;
}
- ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", GDG(le_gd));
+ ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", le_gd);
convert_to_long_ex(x);
convert_to_long_ex(y);
WRONG_PARAM_COUNT;
}
- ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", GDG(le_gd));
+ ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", le_gd);
convert_to_long_ex(x);
convert_to_long_ex(y);
WRONG_PARAM_COUNT;
}
- ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", GDG(le_gd));
+ ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", le_gd);
RETURN_LONG(gdImageColorsTotal(im));
}
WRONG_PARAM_COUNT;
}
- ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", GDG(le_gd));
+ ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", le_gd);
if (ZEND_NUM_ARGS() > 1) {
gdImageColorTransparent(im, Z_LVAL_PP(COL));
WRONG_PARAM_COUNT;
}
- ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", GDG(le_gd));
+ ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", le_gd);
if (ZEND_NUM_ARGS() > 1) {
gdImageInterlace(im,Z_LVAL_PP(INT));
WRONG_PARAM_COUNT;
}
- ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", GDG(le_gd));
+ ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", le_gd);
convert_to_long_ex(NPOINTS);
convert_to_long_ex(COL);
break;
default:
font = zend_list_find(size - 5, &ind_type);
- if (!font || ind_type != GDG(le_gd_font)) {
+ if (!font || ind_type != le_gd_font) {
if (size < 1) {
font = gdFontTiny;
} else {
WRONG_PARAM_COUNT;
}
- ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", GDG(le_gd));
+ ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", le_gd);
convert_to_long_ex(SIZE);
convert_to_long_ex(X);
WRONG_PARAM_COUNT;
}
- ZEND_FETCH_RESOURCE(im_src, gdImagePtr, SIM, -1, "Image", GDG(le_gd));
- ZEND_FETCH_RESOURCE(im_dst, gdImagePtr, DIM, -1, "Image", GDG(le_gd));
+ ZEND_FETCH_RESOURCE(im_src, gdImagePtr, SIM, -1, "Image", le_gd);
+ ZEND_FETCH_RESOURCE(im_dst, gdImagePtr, DIM, -1, "Image", le_gd);
convert_to_long_ex(SX);
convert_to_long_ex(SY);
WRONG_PARAM_COUNT;
}
- ZEND_FETCH_RESOURCE(im_src, gdImagePtr, SIM, -1, "Image", GDG(le_gd));
- ZEND_FETCH_RESOURCE(im_dst, gdImagePtr, DIM, -1, "Image", GDG(le_gd));
+ ZEND_FETCH_RESOURCE(im_src, gdImagePtr, SIM, -1, "Image", le_gd);
+ ZEND_FETCH_RESOURCE(im_dst, gdImagePtr, DIM, -1, "Image", le_gd);
convert_to_long_ex(SX);
convert_to_long_ex(SY);
WRONG_PARAM_COUNT;
}
- ZEND_FETCH_RESOURCE(im_dst, gdImagePtr, DIM, -1, "Image", GDG(le_gd));
- ZEND_FETCH_RESOURCE(im_src, gdImagePtr, SIM, -1, "Image", GDG(le_gd));
+ ZEND_FETCH_RESOURCE(im_dst, gdImagePtr, DIM, -1, "Image", le_gd);
+ ZEND_FETCH_RESOURCE(im_src, gdImagePtr, SIM, -1, "Image", le_gd);
convert_to_long_ex(SX);
convert_to_long_ex(SY);
WRONG_PARAM_COUNT;
}
- ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", GDG(le_gd));
+ ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", le_gd);
RETURN_LONG(gdImageSX(im));
}
WRONG_PARAM_COUNT;
}
- ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", GDG(le_gd));
+ ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", le_gd);
RETURN_LONG(gdImageSY(im));
}
if (ZEND_NUM_ARGS() != 8 || zend_get_parameters_ex(8, &IM, &PTSIZE, &ANGLE, &X, &Y, &COL, &FONTNAME, &C) == FAILURE) {
WRONG_PARAM_COUNT;
}
- ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", GDG(le_gd));
+ ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", le_gd);
}
convert_to_double_ex(PTSIZE);
font = (int *) emalloc(sizeof(int));
*font = f_ind;
- ZEND_REGISTER_RESOURCE(return_value, font, GDG(le_ps_font));
+ ZEND_REGISTER_RESOURCE(return_value, font, le_ps_font);
#else
php_error(E_WARNING, "ImagePsLoadFont: No T1lib support in this PHP build");
RETURN_FALSE;
of_ind = zend_list_find(Z_LVAL_PP(fnt), &type);
- if (type != GDG(le_ps_font)) {
+ if (type != le_ps_font) {
php_error(E_WARNING, "%d is not a Type 1 font index", Z_LVAL_PP(fnt));
RETURN_FALSE;
}
}
nf_ind->extend = 1;
- l_ind = zend_list_insert(nf_ind, GDG(le_ps_font));
+ l_ind = zend_list_insert(nf_ind, le_ps_font);
RETURN_LONG(l_ind);
#else
php_error(E_WARNING, "ImagePsCopyFont: No T1lib support in this PHP build");
WRONG_PARAM_COUNT;
}
- ZEND_FETCH_RESOURCE(f_ind, int *, fnt, -1, "Type 1 font", GDG(le_ps_font));
+ ZEND_FETCH_RESOURCE(f_ind, int *, fnt, -1, "Type 1 font", le_ps_font);
zend_list_delete(Z_LVAL_PP(fnt));
RETURN_TRUE;
convert_to_string_ex(enc);
- ZEND_FETCH_RESOURCE(f_ind, int *, fnt, -1, "Type 1 font", GDG(le_ps_font));
+ ZEND_FETCH_RESOURCE(f_ind, int *, fnt, -1, "Type 1 font", le_ps_font);
if ((enc_vector = T1_LoadEncoding(Z_STRVAL_PP(enc))) == NULL) {
php_error(E_WARNING, "Couldn't load encoding vector from %s", Z_STRVAL_PP(enc));
php_error(E_WARNING, "Couldn't reencode font");
RETURN_FALSE;
}
- zend_list_insert(enc_vector, GDG(le_ps_enc));
+ zend_list_insert(enc_vector, le_ps_enc);
RETURN_TRUE;
#else
php_error(E_WARNING, "ImagePsEncodeFont: No T1lib support in this PHP build");
convert_to_double_ex(ext);
- ZEND_FETCH_RESOURCE(f_ind, int *, fnt, -1, "Type 1 font", GDG(le_ps_font));
+ ZEND_FETCH_RESOURCE(f_ind, int *, fnt, -1, "Type 1 font", le_ps_font);
if (T1_ExtendFont(*f_ind, Z_DVAL_PP(ext)) != 0) RETURN_FALSE;
convert_to_double_ex(slt);
- ZEND_FETCH_RESOURCE(f_ind, int *, fnt, -1, "Type 1 font", GDG(le_ps_font));
+ ZEND_FETCH_RESOURCE(f_ind, int *, fnt, -1, "Type 1 font", le_ps_font);
if (T1_SlantFont(*f_ind, Z_DVAL_PP(slt)) != 0) RETURN_FALSE;
RETURN_TRUE;
WRONG_PARAM_COUNT;
}
- ZEND_FETCH_RESOURCE(bg_img, gdImagePtr, img, -1, "Image", GDG(le_gd));
- ZEND_FETCH_RESOURCE(f_ind, int *, fnt, -1, "Type 1 font", GDG(le_ps_font));
+ ZEND_FETCH_RESOURCE(bg_img, gdImagePtr, img, -1, "Image", le_gd);
+ ZEND_FETCH_RESOURCE(f_ind, int *, fnt, -1, "Type 1 font", le_ps_font);
x = Z_LVAL_PP(px);
y = Z_LVAL_PP(py);
WRONG_PARAM_COUNT;
}
- ZEND_FETCH_RESOURCE(f_ind, int *, fnt, -1, "Type 1 font", GDG(le_ps_font));
+ ZEND_FETCH_RESOURCE(f_ind, int *, fnt, -1, "Type 1 font", le_ps_font);
convert_to_string_ex(str);
convert_to_long_ex(sz);