<div dir="ltr"><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 7:18 AM luigi scarso <<a href="mailto:luigi.scarso@gmail.com">luigi.scarso@gmail.com</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"><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" target="_blank">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></blockquote></div></div></div></blockquote><div><br></div><div> </div></div><div><div>This is ok</div><div>$ luatex --fmt=luatex-plain  "test-plain.tex"</div><div><br></div><div>\directlua{</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><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><br></div><div>}</div><div>\end</div></div><div><br></div>-- <br><div dir="ltr" class="gmail_signature">luigi<br></div></div></div></div>