cvs: php4 /ext/gd gd.c

From: Date: Wed, 29 Nov 2000 15:25:42 +0000
Subject: cvs: php4 /ext/gd gd.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-2819@lists.php.net to get a copy of this message
dbeu Wed Nov 29 07:25:42 2000 EDT Modified files: /php4/ext/gd gd.c Log: made gd working correct under win32 # fixes the issues when running php threadsafe

Index: php4/ext/gd/gd.c diff -u php4/ext/gd/gd.c:1.104 php4/ext/gd/gd.c:1.105 --- php4/ext/gd/gd.c:1.104 Thu Nov 23 06:56:09 2000 +++ php4/ext/gd/gd.c Wed Nov 29 07:25:42 2000 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: gd.c,v 1.104 2000/11/23 14:56:09 sniper Exp $ */ +/* $Id: gd.c,v 1.105 2000/11/29 15:25:42 dbeu Exp $ */ /* gd 1.2 is copyright 1994, 1995, Quest Protein Database Center, Cold Spring Harbor Labs. */ @@ -31,6 +31,7 @@ #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> @@ -45,7 +46,10 @@ #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 */ @@ -227,14 +231,14 @@ 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); @@ -299,7 +303,7 @@ { GDLS_FETCH(); - return GDG(le_gd); + return le_gd; } #ifndef HAVE_GDIMAGECOLORRESOLVE @@ -432,7 +436,7 @@ * 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); } @@ -455,7 +459,7 @@ 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); } /* }}} */ @@ -604,7 +608,7 @@ 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 @@ -688,7 +692,7 @@ RETURN_FALSE; } - ZEND_REGISTER_RESOURCE(return_value, im, GDG(le_gd)); + ZEND_REGISTER_RESOURCE(return_value, im, le_gd); } /* {{{ proto int imagecreatefromgif(string filename) @@ -788,7 +792,7 @@ 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); @@ -949,7 +953,7 @@ 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)); @@ -970,7 +974,7 @@ 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); @@ -994,8 +998,8 @@ 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 @@ -1019,7 +1023,7 @@ 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); @@ -1050,7 +1054,7 @@ 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); @@ -1074,7 +1078,7 @@ 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); @@ -1102,7 +1106,7 @@ 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); @@ -1130,7 +1134,7 @@ 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); @@ -1153,7 +1157,7 @@ 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); @@ -1177,7 +1181,7 @@ 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); @@ -1210,7 +1214,7 @@ 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); @@ -1250,7 +1254,7 @@ 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); @@ -1275,7 +1279,7 @@ 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); @@ -1300,7 +1304,7 @@ 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); @@ -1326,7 +1330,7 @@ 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); @@ -1353,7 +1357,7 @@ 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); @@ -1380,7 +1384,7 @@ 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); @@ -1407,7 +1411,7 @@ 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); @@ -1442,7 +1446,7 @@ 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); @@ -1468,7 +1472,7 @@ 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); @@ -1492,7 +1496,7 @@ 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)); } @@ -1523,7 +1527,7 @@ 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)); @@ -1558,7 +1562,7 @@ 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)); @@ -1584,7 +1588,7 @@ 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); @@ -1675,7 +1679,7 @@ 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 { @@ -1770,7 +1774,7 @@ 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); @@ -1869,8 +1873,8 @@ 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); @@ -1907,8 +1911,8 @@ 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); @@ -1950,8 +1954,8 @@ 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); @@ -1988,7 +1992,7 @@ 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)); } @@ -2006,7 +2010,7 @@ 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)); } @@ -2063,7 +2067,7 @@ 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); @@ -2171,7 +2175,7 @@ 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; @@ -2198,7 +2202,7 @@ 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; } @@ -2230,7 +2234,7 @@ } 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"); @@ -2252,7 +2256,7 @@ 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; @@ -2278,7 +2282,7 @@ 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)); @@ -2291,7 +2295,7 @@ 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"); @@ -2314,7 +2318,7 @@ 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; @@ -2340,7 +2344,7 @@ 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; @@ -2399,8 +2403,8 @@ 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); @@ -2540,7 +2544,7 @@ 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);
« previous php.cvs (#2819) next »