Exemple #1
0
 /**
  * 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;
       }
     }
   }
 }