libextractor-perl

GNU libextractor
Log | Files | Refs | README

commit 3210118c97bcf55aef60cfcf3334fe5c79220846
parent 4278e41e7b6a44e17cf8e66067ac7bee5c38bfbb
Author: Florian Ragwitz <rafl@debian.org>
Date:   Sun, 13 Nov 2005 21:32:44 +0000

 r19567@ata:  rafl | 2005-11-13 22:51:22 +0100
 * Fixed a segfault


Diffstat:
Mxs/Extract.xs | 17++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/xs/Extract.xs b/xs/Extract.xs @@ -139,10 +139,21 @@ getLibraries(extractor) EXTRACTOR_ExtractorList* list = NULL; EXTRACTOR_ExtractorList* i = NULL; PPCODE: - list = SvEXTRACTOR_ExtractorList(pextract_get_extractor_list(extractor)); - for (i = list; i != NULL; i = i->next) { + list = SvEXTRACTOR_ExtractorList_ornull(pextract_get_extractor_list(extractor)); + i = list; + while (i != NULL) { + if (!i->libname) + continue; + XPUSHs(sv_2mortal(newSVpv(i->libname, strlen(i->libname)))); - XPUSHs(sv_2mortal(newSVpv(i->options, strlen(i->options)))); + + if (i->options) { + XPUSHs(sv_2mortal(newSVpv(i->options, strlen(i->options)))); + } else { + XPUSHs(&PL_sv_undef); + } + + i = i->next; } #BOOT: