Quellcode durchsuchen

fix building against PDFLib 6.0.0p1 which no longer has a PDF_open_fp() function

Ralf S. Engelschall vor 21 Jahren
Ursprung
Commit
cef8551a50
2 geänderte Dateien mit 67 neuen und 4 gelöschten Zeilen
  1. 65 2
      php/php.patch
  2. 2 2
      php/php.spec

+ 65 - 2
php/php.patch

@@ -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);
+ 	}

+ 2 - 2
php/php.spec

@@ -38,7 +38,7 @@ Class:        BASE
 Group:        Language
 License:      PHP
 Version:      %{V_php}
-Release:      20040716
+Release:      20040725
 
 #   package options
 %option       with_bc                   no
@@ -256,7 +256,7 @@ AutoReqProv:  no
 %if "%{with_hardened}" == "yes"
     %patch -p1 -P 0
 %endif
-    %patch -p1 -P 1
+    %patch -p0 -P 1
     %{l_shtool} subst \
         %{l_value -s l_prefix l_rpm l_rpmtool} \
         scripts/phpize.in