--- luatex-beta-0.70.1/source/texk/web2c/luatexdir/lua/lepdflib.cc +++ luatex-beta-0.70.1/source/texk/web2c/luatexdir/lua/lepdflib.cc @@ -89,7 +89,6 @@ new_poppler_userdata(AnnotBorder); new_poppler_userdata(Annots); new_poppler_userdata(Array); new_poppler_userdata(Catalog); -new_poppler_userdata(EmbFile); new_poppler_userdata(Dict); //new_poppler_userdata(GooString); new_poppler_userdata(LinkDest); @@ -393,7 +392,7 @@ static int m_Annot__gc(lua_State * L) printf("\n===== Annot GC ===== uin=<%p>\n", uin); #endif if (uin->atype == ALLOC_LEPDF) - delete(Annot *) uin->d; + ((Annot *) uin->d)->decRefCnt(); return 0; } @@ -408,34 +407,6 @@ static const struct luaL_Reg Annot_m[] = }; //********************************************************************** -// AnnotBorderStyle - -m_poppler_get_DOUBLE(AnnotBorderStyle, getWidth); - -m_poppler__tostring(AnnotBorderStyle); - -static int m_Annots__gc(lua_State * L) -{ - udstruct *uin; - uin = (udstruct *) luaL_checkudata(L, 1, M_Annots); - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); -#ifdef DEBUG - printf("\n===== Annots GC ===== uin=<%p>\n", uin); -#endif - if (uin->atype == ALLOC_LEPDF) - delete(Annots *) uin->d; - return 0; -} - -static const struct luaL_Reg AnnotBorderStyle_m[] = { - {"getWidth", m_AnnotBorderStyle_getWidth}, - {"__tostring", m_AnnotBorderStyle__tostring}, - {"__gc", m_Annots__gc}, - {NULL, NULL} // sentinel -}; - -//********************************************************************** // Annots m_poppler_get_INT(Annots, getNumAnnots); @@ -683,31 +654,6 @@ static int m_Catalog_findDest(lua_State m_poppler_get_poppler(Catalog, Object, getDests); m_poppler_get_INT(Catalog, numEmbeddedFiles); - -static int m_Catalog_embeddedFile(lua_State * L) -{ - EmbFile *ef; - int i, len; - udstruct *uin, *uout; - uin = (udstruct *) luaL_checkudata(L, 1, M_Catalog); - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); - i = luaL_checkint(L, 2); - len = ((Catalog *) uin->d)->numEmbeddedFiles(); - if (i > 0 && i <= len) { - ef = ((Catalog *) uin->d)->embeddedFile(i - 1); - if (ef != NULL) { - uout = new_EmbFile_userdata(L); - uout->d = ef; - uout->pc = uin->pc; - uout->pd = uin->pd; - } else - lua_pushnil(L); - } else - lua_pushnil(L); - return 1; -} - m_poppler_get_INT(Catalog, numJS); static int m_Catalog_getJS(lua_State * L) @@ -749,7 +695,6 @@ static const struct luaL_Reg Catalog_m[] {"findDest", m_Catalog_findDest}, {"getDests", m_Catalog_getDests}, {"numEmbeddedFiles", m_Catalog_numEmbeddedFiles}, - {"embeddedFile", m_Catalog_embeddedFile}, {"numJS", m_Catalog_numJS}, {"getJS", m_Catalog_getJS}, {"getOutline", m_Catalog_getOutline}, @@ -759,49 +704,6 @@ static const struct luaL_Reg Catalog_m[] }; //********************************************************************** -// EmbFile - -m_poppler_get_GOOSTRING(EmbFile, name); -m_poppler_get_GOOSTRING(EmbFile, description); -m_poppler_get_INT(EmbFile, size); -m_poppler_get_GOOSTRING(EmbFile, modDate); -m_poppler_get_GOOSTRING(EmbFile, createDate); -m_poppler_get_GOOSTRING(EmbFile, checksum); -m_poppler_get_GOOSTRING(EmbFile, mimeType); - -static int m_EmbFile_streamObject(lua_State * L) -{ - udstruct *uin, *uout; - uin = (udstruct *) luaL_checkudata(L, 1, M_EmbFile); - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); - uout = new_Object_userdata(L); - uout->d = new Object(); // automatic init to type "none" - ((EmbFile *) uin->d)->streamObject().copy((Object *) uout->d); - uout->pc = uin->pc; - uout->pd = uin->pd; - return 1; -} - -m_poppler_get_BOOL(EmbFile, isOk); - -m_poppler__tostring(EmbFile); - -static const struct luaL_Reg EmbFile_m[] = { - {"name", m_EmbFile_name}, - {"description", m_EmbFile_description}, - {"size", m_EmbFile_size}, - {"modDate", m_EmbFile_modDate}, - {"createDate", m_EmbFile_createDate}, - {"checksum", m_EmbFile_checksum}, - {"mimeType", m_EmbFile_mimeType}, - {"streamObject", m_EmbFile_streamObject}, - {"isOk", m_EmbFile_isOk}, - {"__tostring", m_EmbFile__tostring}, - {NULL, NULL} // sentinel -}; - -//********************************************************************** // Dict static int m_Dict_incRef(lua_State * L) @@ -2683,11 +2585,9 @@ int luaopen_epdf(lua_State * L) { register_meta(Annot); // TODO register_meta(AnnotBorder); - register_meta(AnnotBorderStyle); register_meta(Annots); register_meta(Array); register_meta(Catalog); - register_meta(EmbFile); register_meta(Dict); register_meta(GooString); register_meta(LinkDest);