--- php.patch 2004/06/11 09:57:45 1.7 +++ php.patch 2004/07/25 09:39:57 1.8 @@ -1,5 +1,6 @@ ---- php-4.3.7/scripts/phpize.in.orig 2003-11-14 04:21:15.000000000 +0100 -+++ php-4.3.7/scripts/phpize.in 2004-06-11 09:27:51.866609632 +0200 +Index: scripts/phpize.in +--- scripts/phpize.in.orig 2003-11-14 04:21:15.000000000 +0100 ++++ scripts/phpize.in 2004-06-11 09:27:51.866609632 +0200 @@ -1,5 +1,25 @@ #! /bin/sh @@ -26,3 +27,65 @@ prefix='@prefix@' phpdir="$prefix/lib/php/build" includedir="$prefix/include/php" +Index: ext/pdf/pdf.c +--- ext/pdf/pdf.c.orig 2004-02-28 23:58:56 +0100 ++++ ext/pdf/pdf.c 2004-07-25 11:35:57 +0200 +@@ -240,6 +240,16 @@ + ZEND_GET_MODULE(pdf) + #endif + ++ZEND_BEGIN_MODULE_GLOBALS(pdf) ++FILE *fp; ++ZEND_END_MODULE_GLOBALS(pdf) ++ZEND_DECLARE_MODULE_GLOBALS(pdf) ++#ifdef ZTS ++#define PDF_G(v) TSRMG(pdf_globals_id, zend_pdf_globals *, v) ++#else ++#define PDF_G(v) (pdf_globals.v) ++#endif ++ + /* {{{ _free_pdf_doc + */ + static void _free_pdf_doc(zend_rsrc_list_entry *rsrc TSRMLS_DC) +@@ -305,6 +315,15 @@ + } + /* }}} */ + ++/* {{{ pdf_flushwrite_fp ++ */ ++static size_t pdf_flushwrite_fp(PDF *p, void *data, size_t size) ++{ ++ FILE *fp = PDF_G(fp); ++ return fwrite(data, size, 1, fp); ++} ++/* }}} */ ++ + /* {{{ pdf_flushwrite + */ + static size_t pdf_flushwrite(PDF *p, void *data, size_t size) +@@ -339,8 +358,13 @@ + + /* {{{ PHP_MINIT_FUNCTION + */ ++static void php_pdf_init_globals (zend_pdf_globals *g) ++{ ++ g->fp = NULL; ++} + PHP_MINIT_FUNCTION(pdf) + { ++ ZEND_INIT_MODULE_GLOBALS(pdf, php_pdf_init_globals, NULL); + if ((PDF_get_majorversion() != PDFLIB_MAJORVERSION) || + (PDF_get_minorversion() != PDFLIB_MINORVERSION)) { + php_error(E_ERROR,"PDFlib error: Version mismatch in wrapper code"); +@@ -469,9 +493,8 @@ + pdf = PDF_new2(custom_errorhandler, pdf_emalloc, pdf_realloc, pdf_efree, NULL); + + if(fp) { +- if (PDF_open_fp(pdf, fp) < 0) { +- RETURN_FALSE; +- } ++ PDF_G(fp) = fp; ++ PDF_begin_document_callback(pdf, pdf_flushwrite_fp, ""); + } else { + PDF_open_mem(pdf, pdf_flushwrite); + }