| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- 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);
- }
|