diff options
author | Andrei Zmievski <andrei@php.net> | 2000-10-20 18:25:16 +0000 |
---|---|---|
committer | Andrei Zmievski <andrei@php.net> | 2000-10-20 18:25:16 +0000 |
commit | 7b4983c8f82c4f361df787f58c6f5cf88d5def0b (patch) | |
tree | e38e8ffceb65a0f2492b28e2b07c8668fcddeda4 /ext/pdf | |
parent | a0cfab65ea72963f81a3440a3587d11bd7800337 (diff) | |
download | php-git-7b4983c8f82c4f361df787f58c6f5cf88d5def0b.tar.gz |
Mega-patch to get better resource information for modules.
* Fixed a bug in zend_rsrc_list_get_rsrc_type()
* Switched register_list_destructors() to use
zend_register_list_destructors_ex() instead
* Updated all relevant modules to provide the resource type name
to register_list_destructors() call
* Updated var_dump() to output resource type name instead of number
@- Made resource type names visible, e.g. var_dump() and
@ get_resource_type() display "file" for file resources. (Andrei)
Diffstat (limited to 'ext/pdf')
-rw-r--r-- | ext/pdf/pdf.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/ext/pdf/pdf.c b/ext/pdf/pdf.c index 3a1758407d..ef5c918af6 100644 --- a/ext/pdf/pdf.c +++ b/ext/pdf/pdf.c @@ -178,18 +178,20 @@ zend_module_entry pdf_module_entry = { ZEND_GET_MODULE(pdf) #endif -static void _free_pdf_image(int image) +static void _free_pdf_image(zend_rsrc_list_entry *rsrc) { } -static void _free_pdf_doc(PDF *pdf) +static void _free_pdf_doc(zend_rsrc_list_entry *rsrc) { + PDF *pdf = (PDF *)rsrc->ptr; PDF_close(pdf); PDF_delete(pdf); } -static void _free_outline(int *outline) +static void _free_outline(zend_rsrc_list_entry *rsrc) { + int *outline = (int *)rsrc->ptr; if(outline) efree(outline); } @@ -235,9 +237,9 @@ static size_t pdf_flushwrite(PDF *p, void *data, size_t size){ PHP_MINIT_FUNCTION(pdf) { - PDF_GLOBAL(le_pdf_image) = register_list_destructors(_free_pdf_image, NULL); - PDF_GLOBAL(le_outline) = register_list_destructors(_free_outline, NULL); - PDF_GLOBAL(le_pdf) = register_list_destructors(_free_pdf_doc, NULL); + PDF_GLOBAL(le_pdf_image) = register_list_destructors(_free_pdf_image, NULL, "pdf image"); + PDF_GLOBAL(le_outline) = register_list_destructors(_free_outline, NULL, "pdf outline"); + PDF_GLOBAL(le_pdf) = register_list_destructors(_free_pdf_doc, NULL, "pdf document"); return SUCCESS; } |