<div dir="ltr"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Apr 2, 2019 at 12:23 AM Reinhard Kotucha <<a href="mailto:reinhard.kotucha@web.de">reinhard.kotucha@web.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
when I run the example on page 261/262 of the LuaTeX Manual and the<br>
input file ("foo.pdf" in the example) doesn't exist, I get<br>
<br>
  Segmentation fault (core dumped)<br>
<br>
on x86_64-linux.<br>
<br>
Regards,<br>
  Reinhard<br>
<br>
--<br>
------------------------------------------------------------------<br>
Reinhard Kotucha                            Phone: +49-511-3373112<br>
Marschnerstr. 25<br>
D-30167 Hannover                    mailto:<a href="mailto:reinhard.kotucha@web.de" target="_blank">reinhard.kotucha@web.de</a><br>
------------------------------------------------------------------<br>
_______________________________________________<br>
dev-luatex mailing list<br>
<a href="mailto:dev-luatex@ntg.nl" target="_blank">dev-luatex@ntg.nl</a><br>
<a href="https://mailman.ntg.nl/mailman/listinfo/dev-luatex" rel="noreferrer" target="_blank">https://mailman.ntg.nl/mailman/listinfo/dev-luatex</a><br>
</blockquote></div><br clear="all"><div><br></div><div><br></div><div><div>Confirmed. The test is </div><div><br></div><div>local operatortable = { }</div><div><br></div><div>operatortable.Do = function(scanner,info)</div><div>    local resources = info.resources</div><div>    if resources then</div><div>            local val     = scanner:pop()</div><div>            local name    = val[2]</div><div>            local xobject = resources.XObject</div><div>            print(info.space .. "Uses XObject " .. name)</div><div>            local resources = xobject.Resources</div><div>            if resources then</div><div>                local newinfo = {</div><div>                    space     = info.space .. " ",</div><div>                    resources = resources,</div><div>                }</div><div>                pdfscanner.scan(entry, operatortable, newinfo)</div><div>            end</div><div>      end</div><div>end</div><div><br></div><div>local function Analyze(filename)</div><div>    local doc = pdfe.open(filename)</div><div>    if doc then</div><div>        local pages = doc.Pages</div><div>        for i=1,#pages do</div><div>            local page = pages[i]</div><div>            local info = {</div><div>              space     = " " ,</div><div>              resources = page.Resources,</div><div>            }</div><div>            print("Page " .. i)</div><div>         -- pdfscanner.scan(page.Contents,operatortable,info)</div><div>            pdfscanner.scan(page.Contents(),operatortable,info)</div><div>        end</div><div>    end</div><div>end</div><div><br></div><div>Analyze("foo.pdf")</div></div><div><br></div>-- <br><div dir="ltr" class="gmail_signature">luigi<br></div></div></div>