apache.patch.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. Index: ext/pdf/pdf.c
  2. --- ext/pdf/pdf.c.orig 2004-02-28 23:58:56 +0100
  3. +++ ext/pdf/pdf.c 2004-07-25 11:35:57 +0200
  4. @@ -240,6 +240,16 @@
  5. ZEND_GET_MODULE(pdf)
  6. #endif
  7. +ZEND_BEGIN_MODULE_GLOBALS(pdf)
  8. +FILE *fp;
  9. +ZEND_END_MODULE_GLOBALS(pdf)
  10. +ZEND_DECLARE_MODULE_GLOBALS(pdf)
  11. +#ifdef ZTS
  12. +#define PDF_G(v) TSRMG(pdf_globals_id, zend_pdf_globals *, v)
  13. +#else
  14. +#define PDF_G(v) (pdf_globals.v)
  15. +#endif
  16. +
  17. /* {{{ _free_pdf_doc
  18. */
  19. static void _free_pdf_doc(zend_rsrc_list_entry *rsrc TSRMLS_DC)
  20. @@ -305,6 +315,15 @@
  21. }
  22. /* }}} */
  23. +/* {{{ pdf_flushwrite_fp
  24. + */
  25. +static size_t pdf_flushwrite_fp(PDF *p, void *data, size_t size)
  26. +{
  27. + FILE *fp = PDF_G(fp);
  28. + return fwrite(data, size, 1, fp);
  29. +}
  30. +/* }}} */
  31. +
  32. /* {{{ pdf_flushwrite
  33. */
  34. static size_t pdf_flushwrite(PDF *p, void *data, size_t size)
  35. @@ -339,8 +358,13 @@
  36. /* {{{ PHP_MINIT_FUNCTION
  37. */
  38. +static void php_pdf_init_globals (zend_pdf_globals *g)
  39. +{
  40. + g->fp = NULL;
  41. +}
  42. PHP_MINIT_FUNCTION(pdf)
  43. {
  44. + ZEND_INIT_MODULE_GLOBALS(pdf, php_pdf_init_globals, NULL);
  45. if ((PDF_get_majorversion() != PDFLIB_MAJORVERSION) ||
  46. (PDF_get_minorversion() != PDFLIB_MINORVERSION)) {
  47. php_error(E_ERROR,"PDFlib error: Version mismatch in wrapper code");
  48. @@ -469,9 +493,8 @@
  49. pdf = PDF_new2(custom_errorhandler, pdf_emalloc, pdf_realloc, pdf_efree, NULL);
  50. if(fp) {
  51. - if (PDF_open_fp(pdf, fp) < 0) {
  52. - RETURN_FALSE;
  53. - }
  54. + PDF_G(fp) = fp;
  55. + PDF_begin_document_callback(pdf, pdf_flushwrite_fp, "");
  56. } else {
  57. PDF_open_mem(pdf, pdf_flushwrite);
  58. }