Example #1
0
static int Lzip_write_file(lua_State *L) {
    const char *filename = luaL_checkstring(L, 1);
    size_t size_to_reserve_at_beginning = (size_t)luaL_optinteger(L, 2, 0);
    mz_zip_archive* za = (mz_zip_archive*)lua_newuserdata(L, sizeof(mz_zip_archive));
    mz_zip_zero_struct(za);
    if (!mz_zip_writer_init_file(za, filename, size_to_reserve_at_beginning))
        return lmz_zip_pusherror(L, za, filename);
    luaL_setmetatable(L, LMZ_ZIP_WRITER);
    return 1;
}
Example #2
0
    ArchiveWriter::ArchiveWriter(const string& path)
        : zip_obj_(NULL)
    {
        mz_zip_archive* zip = new mz_zip_archive();
        memset(zip, 0, sizeof(*zip));

        mz_bool rc = mz_zip_writer_init_file(zip, path.c_str(), 0);
        if (!rc)
        {
            THROW_EXCEPTION("Failed to init archive writer");
        }

        zip_obj_ = zip;
    }