]> source.dussan.org Git - tigervnc.git/commitdiff
[Refactoring] Added a separate function to compute the number of index record for...
authorConstantin Kaplinsky <const@tightvnc.com>
Mon, 23 Jun 2008 13:01:11 +0000 (13:01 +0000)
committerConstantin Kaplinsky <const@tightvnc.com>
Mon, 23 Jun 2008 13:01:11 +0000 (13:01 +0000)
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2619 3789f03b-4d11-0410-bbf8-ca57d06f2519

java/src/com/tightvnc/rfbplayer/FbsConnection.java

index 9a01433772d4da105bb0e24dcda58571af94533f..204f4ae34b32956c16b11cf824d65738e410aaae 100644 (file)
@@ -70,23 +70,18 @@ public class FbsConnection {
     FbsInputStream fbs = null;
 
     // Try efficient seeking first.
-    if (timeOffset > 0 && indexData != null && numIndexRecords > 0) {
-      int i = 0;
-      while (i < numIndexRecords && indexData[i].timestamp <= timeOffset) {
-        i++;
-      }
-      if (i > 0) {
-        FbsEntryPoint entryPoint = indexData[i - 1];
-        if (entryPoint.key_size < entryPoint.fbs_fpos) {
-          try {
-            fbs = openFbsFile(entryPoint);
-          } catch (IOException e) {
-            System.err.println(e);
-          }
-          if (fbs == null) {
-            System.err.println("Could not open FBS file at entry point " +
-                               entryPoint.timestamp + " ms");
-          }
+    int i = indexForTimeOffset(timeOffset);
+    if (i >= 0) {
+      FbsEntryPoint entryPoint = indexData[i];
+      if (entryPoint.key_size < entryPoint.fbs_fpos) {
+        try {
+          fbs = openFbsFile(entryPoint);
+        } catch (IOException e) {
+          System.err.println(e);
+        }
+        if (fbs == null) {
+          System.err.println("Could not open FBS file at entry point " +
+                             entryPoint.timestamp + " ms");
         }
       }
     }
@@ -191,6 +186,18 @@ public class FbsConnection {
     }
   }
 
+  private int indexForTimeOffset(long timeOffset) {
+    if (timeOffset > 0 && indexData != null && numIndexRecords > 0) {
+      int i = 0;
+      while (i < numIndexRecords && indexData[i].timestamp <= timeOffset) {
+        i++;
+      }
+      return i - 1;
+    } else {
+      return -1;
+    }
+  }
+
   /**
    * Open FBS file identified by {@link #fbsURL}. The file is open at its very
    * beginning, no seek is performed.