/** * Get next page. * * @param page the page * @param boundary the boundary * @return the offset or error code OV_* */ private int getNextPage(Page page, long boundary) { if (boundary > 0) { boundary += offset; } while (true) { int more; if (boundary > 0 && offset >= boundary) { return OV_FALSE; } more = oy.pageseek(page); if (more < 0) { offset -= more; } else { if (more == 0) { if (boundary == 0) { return OV_FALSE; } int ret = getData(); if (ret == 0) { return OV_EOF; } if (ret < 0) { return OV_EREAD; } } else { int ret = (int) offset; // !!! offset += more; return ret; } } } }