You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by bo...@apache.org on 2013/10/26 16:22:17 UTC
svn commit: r884228 [12/50] - in
/websites/production/commons/content/proper/commons-compress: ./ cobertura/
Modified: websites/production/commons/content/proper/commons-compress/cobertura/org.apache.commons.compress.archivers.dump.DumpArchiveInputStream.html
==============================================================================
--- websites/production/commons/content/proper/commons-compress/cobertura/org.apache.commons.compress.archivers.dump.DumpArchiveInputStream.html (original)
+++ websites/production/commons/content/proper/commons-compress/cobertura/org.apache.commons.compress.archivers.dump.DumpArchiveInputStream.html Sat Oct 26 14:22:15 2013
@@ -118,7 +118,7 @@
<td class="src"><pre class="src"> <span class="comment"> * @NotThreadSafe</span></pre></td></tr>
<tr> <td class="numLine"> 50</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 51</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">class</span> DumpArchiveInputStream <span class="keyword">extends</span> ArchiveInputStream {</pre></td></tr>
+<tr> <td class="numLineCover"> 51</td> <td class="nbHitsCovered"> 40</td> <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">class</span> DumpArchiveInputStream <span class="keyword">extends</span> ArchiveInputStream {</pre></td></tr>
<tr> <td class="numLine"> 52</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> DumpArchiveSummary summary;</pre></td></tr>
<tr> <td class="numLine"> 53</td> <td class="nbHits"> </td>
@@ -133,7 +133,7 @@
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">long</span> entryOffset;</pre></td></tr>
<tr> <td class="numLine"> 58</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">int</span> readIdx;</pre></td></tr>
-<tr> <td class="numLineCover"> 59</td> <td class="nbHitsCovered"> 9</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> <span class="keyword">byte</span>[] readBuf = <span class="keyword">new</span> <span class="keyword">byte</span>[DumpArchiveConstants.TP_SIZE];</pre></td></tr>
+<tr> <td class="numLineCover"> 59</td> <td class="nbHitsCovered"> 18</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> <span class="keyword">byte</span>[] readBuf = <span class="keyword">new</span> <span class="keyword">byte</span>[DumpArchiveConstants.TP_SIZE];</pre></td></tr>
<tr> <td class="numLine"> 60</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">byte</span>[] blockBuffer;</pre></td></tr>
<tr> <td class="numLine"> 61</td> <td class="nbHits"> </td>
@@ -146,12 +146,12 @@
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 65</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// map of ino -> dirent entry. We can use this to reconstruct full paths.</span></pre></td></tr>
-<tr> <td class="numLineCover"> 66</td> <td class="nbHitsCovered"> 9</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> Map<Integer, Dirent> names = <span class="keyword">new</span> HashMap<Integer, Dirent>();</pre></td></tr>
+<tr> <td class="numLineCover"> 66</td> <td class="nbHitsCovered"> 18</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> Map<Integer, Dirent> names = <span class="keyword">new</span> HashMap<Integer, Dirent>();</pre></td></tr>
<tr> <td class="numLine"> 67</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 68</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// map of ino -> (directory) entry when we're missing one or more elements in the path.</span></pre></td></tr>
-<tr> <td class="numLineCover"> 69</td> <td class="nbHitsCovered"> 9</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> Map<Integer, DumpArchiveEntry> pending = <span class="keyword">new</span> HashMap<Integer, DumpArchiveEntry>();</pre></td></tr>
+<tr> <td class="numLineCover"> 69</td> <td class="nbHitsCovered"> 18</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> Map<Integer, DumpArchiveEntry> pending = <span class="keyword">new</span> HashMap<Integer, DumpArchiveEntry>();</pre></td></tr>
<tr> <td class="numLine"> 70</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 71</td> <td class="nbHits"> </td>
@@ -186,8 +186,8 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 86</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> DumpArchiveInputStream(InputStream is) <span class="keyword">throws</span> ArchiveException {</pre></td></tr>
-<tr> <td class="numLineCover"> 87</td> <td class="nbHitsCovered"> 9</td> <td class="src"><pre class="src"> <span class="keyword">this</span>(is, <span class="keyword">null</span>);</pre></td></tr>
-<tr> <td class="numLineCover"> 88</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 87</td> <td class="nbHitsCovered"> 18</td> <td class="src"><pre class="src"> <span class="keyword">this</span>(is, <span class="keyword">null</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 88</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 89</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 90</td> <td class="nbHits"> </td>
@@ -208,61 +208,61 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 98</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> DumpArchiveInputStream(InputStream is, String encoding)</pre></td></tr>
-<tr> <td class="numLineCover"> 99</td> <td class="nbHitsCovered"> 9</td> <td class="src"><pre class="src"> <span class="keyword">throws</span> ArchiveException {</pre></td></tr>
-<tr> <td class="numLineCover"> 100</td> <td class="nbHitsCovered"> 9</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.raw = <span class="keyword">new</span> TapeInputStream(is);</pre></td></tr>
-<tr> <td class="numLineCover"> 101</td> <td class="nbHitsCovered"> 9</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.hasHitEOF = <span class="keyword">false</span>;</pre></td></tr>
-<tr> <td class="numLineCover"> 102</td> <td class="nbHitsCovered"> 9</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.encoding = ZipEncodingHelper.getZipEncoding(encoding);</pre></td></tr>
+<tr> <td class="numLineCover"> 99</td> <td class="nbHitsCovered"> 18</td> <td class="src"><pre class="src"> <span class="keyword">throws</span> ArchiveException {</pre></td></tr>
+<tr> <td class="numLineCover"> 100</td> <td class="nbHitsCovered"> 18</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.raw = <span class="keyword">new</span> TapeInputStream(is);</pre></td></tr>
+<tr> <td class="numLineCover"> 101</td> <td class="nbHitsCovered"> 18</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.hasHitEOF = <span class="keyword">false</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 102</td> <td class="nbHitsCovered"> 18</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.encoding = ZipEncodingHelper.getZipEncoding(encoding);</pre></td></tr>
<tr> <td class="numLine"> 103</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 104</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
<tr> <td class="numLine"> 105</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// read header, verify it's a dump archive.</span></pre></td></tr>
-<tr> <td class="numLineCover"> 106</td> <td class="nbHitsCovered"> 9</td> <td class="src"><pre class="src"> <span class="keyword">byte</span>[] headerBytes = raw.readRecord();</pre></td></tr>
+<tr> <td class="numLineCover"> 106</td> <td class="nbHitsCovered"> 18</td> <td class="src"><pre class="src"> <span class="keyword">byte</span>[] headerBytes = raw.readRecord();</pre></td></tr>
<tr> <td class="numLine"> 107</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 108</td> <td class="nbHitsCovered"><a title="Line 108: Conditional coverage 100% (2/2)."> 8</a></td> <td class="src"><pre class="src"> <a title="Line 108: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!DumpArchiveUtil.verify(headerBytes)) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 109</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> UnrecognizedFormatException();</pre></td></tr>
+<tr> <td class="numLineCover"> 108</td> <td class="nbHitsCovered"><a title="Line 108: Conditional coverage 100% (2/2)."> 16</a></td> <td class="src"><pre class="src"> <a title="Line 108: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!DumpArchiveUtil.verify(headerBytes)) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 109</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> UnrecognizedFormatException();</pre></td></tr>
<tr> <td class="numLine"> 110</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 111</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 112</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// get summary information</span></pre></td></tr>
-<tr> <td class="numLineCover"> 113</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> summary = <span class="keyword">new</span> DumpArchiveSummary(headerBytes, <span class="keyword">this</span>.encoding);</pre></td></tr>
+<tr> <td class="numLineCover"> 113</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> summary = <span class="keyword">new</span> DumpArchiveSummary(headerBytes, <span class="keyword">this</span>.encoding);</pre></td></tr>
<tr> <td class="numLine"> 114</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 115</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// reset buffer with actual block size.</span></pre></td></tr>
-<tr> <td class="numLineCover"> 116</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> raw.resetBlockSize(summary.getNTRec(), summary.isCompressed());</pre></td></tr>
+<tr> <td class="numLineCover"> 116</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> raw.resetBlockSize(summary.getNTRec(), summary.isCompressed());</pre></td></tr>
<tr> <td class="numLine"> 117</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 118</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// allocate our read buffer.</span></pre></td></tr>
-<tr> <td class="numLineCover"> 119</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> blockBuffer = <span class="keyword">new</span> <span class="keyword">byte</span>[4 * DumpArchiveConstants.TP_SIZE];</pre></td></tr>
+<tr> <td class="numLineCover"> 119</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> blockBuffer = <span class="keyword">new</span> <span class="keyword">byte</span>[4 * DumpArchiveConstants.TP_SIZE];</pre></td></tr>
<tr> <td class="numLine"> 120</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 121</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// skip past CLRI and BITS segments since we don't handle them yet.</span></pre></td></tr>
-<tr> <td class="numLineCover"> 122</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> readCLRI();</pre></td></tr>
-<tr> <td class="numLineCover"> 123</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> readBITS();</pre></td></tr>
-<tr> <td class="numLineCover"> 124</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> } <span class="keyword">catch</span> (IOException ex) {</pre></td></tr>
-<tr> <td class="numLineCover"> 125</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> ArchiveException(ex.getMessage(), ex);</pre></td></tr>
-<tr> <td class="numLineCover"> 126</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 122</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> readCLRI();</pre></td></tr>
+<tr> <td class="numLineCover"> 123</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> readBITS();</pre></td></tr>
+<tr> <td class="numLineCover"> 124</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> } <span class="keyword">catch</span> (IOException ex) {</pre></td></tr>
+<tr> <td class="numLineCover"> 125</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> ArchiveException(ex.getMessage(), ex);</pre></td></tr>
+<tr> <td class="numLineCover"> 126</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 127</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 128</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// put in a dummy record for the root node.</span></pre></td></tr>
-<tr> <td class="numLineCover"> 129</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> Dirent root = <span class="keyword">new</span> Dirent(2, 2, 4, <span class="string">"."</span>);</pre></td></tr>
-<tr> <td class="numLineCover"> 130</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> names.put(Integer.valueOf(2), root);</pre></td></tr>
+<tr> <td class="numLineCover"> 129</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> Dirent root = <span class="keyword">new</span> Dirent(2, 2, 4, <span class="string">"."</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 130</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> names.put(Integer.valueOf(2), root);</pre></td></tr>
<tr> <td class="numLine"> 131</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 132</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// use priority based on queue to ensure parent directories are</span></pre></td></tr>
<tr> <td class="numLine"> 133</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// released first.</span></pre></td></tr>
-<tr> <td class="numLineCover"> 134</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> queue = <span class="keyword">new</span> PriorityQueue<DumpArchiveEntry>(10,</pre></td></tr>
-<tr> <td class="numLineCover"> 135</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> <span class="keyword">new</span> Comparator<DumpArchiveEntry>() {</pre></td></tr>
+<tr> <td class="numLineCover"> 134</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> queue = <span class="keyword">new</span> PriorityQueue<DumpArchiveEntry>(10,</pre></td></tr>
+<tr> <td class="numLineCover"> 135</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> <span class="keyword">new</span> Comparator<DumpArchiveEntry>() {</pre></td></tr>
<tr> <td class="numLine"> 136</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">int</span> compare(DumpArchiveEntry p, DumpArchiveEntry q) {</pre></td></tr>
<tr> <td class="numLineCover"> 137</td> <td class="nbHitsUncovered"><a title="Line 137: Conditional coverage 0% (0/4) [each condition: 0%, 0%]."> 0</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 137: Conditional coverage 0% (0/4) [each condition: 0%, 0%]."> <span class="keyword">if</span> ((p.getOriginalName() == <span class="keyword">null</span>) || (q.getOriginalName() == <span class="keyword">null</span>)) {</a></span></pre></td></tr>
@@ -276,7 +276,7 @@
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 143</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> });</pre></td></tr>
-<tr> <td class="numLineCover"> 144</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 144</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 145</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 146</td> <td class="nbHits"> </td>
@@ -320,19 +320,19 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 167</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">void</span> readCLRI() <span class="keyword">throws</span> IOException {</pre></td></tr>
-<tr> <td class="numLineCover"> 168</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> <span class="keyword">byte</span>[] readBuf = raw.readRecord();</pre></td></tr>
+<tr> <td class="numLineCover"> 168</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> <span class="keyword">byte</span>[] readBuf = raw.readRecord();</pre></td></tr>
<tr> <td class="numLine"> 169</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 170</td> <td class="nbHitsUncovered"><a title="Line 170: Conditional coverage 50% (1/2)."> 7</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 170: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!DumpArchiveUtil.verify(readBuf)) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 170</td> <td class="nbHitsUncovered"><a title="Line 170: Conditional coverage 50% (1/2)."> 14</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 170: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!DumpArchiveUtil.verify(readBuf)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover"> 171</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> InvalidFormatException();</span></pre></td></tr>
<tr> <td class="numLine"> 172</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 173</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 174</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> active = DumpArchiveEntry.parse(readBuf);</pre></td></tr>
+<tr> <td class="numLineCover"> 174</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> active = DumpArchiveEntry.parse(readBuf);</pre></td></tr>
<tr> <td class="numLine"> 175</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 176</td> <td class="nbHitsUncovered"><a title="Line 176: Conditional coverage 50% (1/2)."> 7</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 176: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (DumpArchiveConstants.SEGMENT_TYPE.CLRI != active.getHeaderType()) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 176</td> <td class="nbHitsUncovered"><a title="Line 176: Conditional coverage 50% (1/2)."> 14</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 176: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (DumpArchiveConstants.SEGMENT_TYPE.CLRI != active.getHeaderType()) {</a></span></pre></td></tr>
<tr> <td class="numLineCover"> 177</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> InvalidFormatException();</span></pre></td></tr>
<tr> <td class="numLine"> 178</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
@@ -340,14 +340,14 @@
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 180</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// we don't do anything with this yet.</span></pre></td></tr>
-<tr> <td class="numLineCover"> 181</td> <td class="nbHitsUncovered"><a title="Line 181: Conditional coverage 50% (1/2)."> 7</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 181: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (raw.skip(DumpArchiveConstants.TP_SIZE * active.getHeaderCount())</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 181</td> <td class="nbHitsUncovered"><a title="Line 181: Conditional coverage 50% (1/2)."> 14</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 181: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (raw.skip(DumpArchiveConstants.TP_SIZE * active.getHeaderCount())</a></span></pre></td></tr>
<tr> <td class="numLine"> 182</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> == -1) {</pre></td></tr>
<tr> <td class="numLineCover"> 183</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> EOFException();</span></pre></td></tr>
<tr> <td class="numLine"> 184</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 185</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> readIdx = active.getHeaderCount();</pre></td></tr>
-<tr> <td class="numLineCover"> 186</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 185</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> readIdx = active.getHeaderCount();</pre></td></tr>
+<tr> <td class="numLineCover"> 186</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 187</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 188</td> <td class="nbHits"> </td>
@@ -358,19 +358,19 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 191</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">void</span> readBITS() <span class="keyword">throws</span> IOException {</pre></td></tr>
-<tr> <td class="numLineCover"> 192</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> <span class="keyword">byte</span>[] readBuf = raw.readRecord();</pre></td></tr>
+<tr> <td class="numLineCover"> 192</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> <span class="keyword">byte</span>[] readBuf = raw.readRecord();</pre></td></tr>
<tr> <td class="numLine"> 193</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 194</td> <td class="nbHitsUncovered"><a title="Line 194: Conditional coverage 50% (1/2)."> 7</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 194: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!DumpArchiveUtil.verify(readBuf)) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 194</td> <td class="nbHitsUncovered"><a title="Line 194: Conditional coverage 50% (1/2)."> 14</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 194: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!DumpArchiveUtil.verify(readBuf)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover"> 195</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> InvalidFormatException();</span></pre></td></tr>
<tr> <td class="numLine"> 196</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 197</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 198</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> active = DumpArchiveEntry.parse(readBuf);</pre></td></tr>
+<tr> <td class="numLineCover"> 198</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> active = DumpArchiveEntry.parse(readBuf);</pre></td></tr>
<tr> <td class="numLine"> 199</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 200</td> <td class="nbHitsUncovered"><a title="Line 200: Conditional coverage 50% (1/2)."> 7</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 200: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (DumpArchiveConstants.SEGMENT_TYPE.BITS != active.getHeaderType()) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 200</td> <td class="nbHitsUncovered"><a title="Line 200: Conditional coverage 50% (1/2)."> 14</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 200: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (DumpArchiveConstants.SEGMENT_TYPE.BITS != active.getHeaderType()) {</a></span></pre></td></tr>
<tr> <td class="numLineCover"> 201</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> InvalidFormatException();</span></pre></td></tr>
<tr> <td class="numLine"> 202</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
@@ -378,14 +378,14 @@
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 204</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// we don't do anything with this yet.</span></pre></td></tr>
-<tr> <td class="numLineCover"> 205</td> <td class="nbHitsUncovered"><a title="Line 205: Conditional coverage 50% (1/2)."> 7</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 205: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (raw.skip(DumpArchiveConstants.TP_SIZE * active.getHeaderCount())</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 205</td> <td class="nbHitsUncovered"><a title="Line 205: Conditional coverage 50% (1/2)."> 14</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 205: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (raw.skip(DumpArchiveConstants.TP_SIZE * active.getHeaderCount())</a></span></pre></td></tr>
<tr> <td class="numLine"> 206</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> == -1) {</pre></td></tr>
<tr> <td class="numLineCover"> 207</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> EOFException();</span></pre></td></tr>
<tr> <td class="numLine"> 208</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 209</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> readIdx = active.getHeaderCount();</pre></td></tr>
-<tr> <td class="numLineCover"> 210</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 209</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> readIdx = active.getHeaderCount();</pre></td></tr>
+<tr> <td class="numLineCover"> 210</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 211</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 212</td> <td class="nbHits"> </td>
@@ -396,7 +396,7 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 215</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> DumpArchiveEntry getNextDumpEntry() <span class="keyword">throws</span> IOException {</pre></td></tr>
-<tr> <td class="numLineCover"> 216</td> <td class="nbHitsCovered"> 5</td> <td class="src"><pre class="src"> <span class="keyword">return</span> getNextEntry();</pre></td></tr>
+<tr> <td class="numLineCover"> 216</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> <span class="keyword">return</span> getNextEntry();</pre></td></tr>
<tr> <td class="numLine"> 217</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 218</td> <td class="nbHits"> </td>
@@ -411,20 +411,20 @@
<td class="src"><pre class="src"> @Override</pre></td></tr>
<tr> <td class="numLine"> 223</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> DumpArchiveEntry getNextEntry() <span class="keyword">throws</span> IOException {</pre></td></tr>
-<tr> <td class="numLineCover"> 224</td> <td class="nbHitsCovered"> 25</td> <td class="src"><pre class="src"> DumpArchiveEntry entry = <span class="keyword">null</span>;</pre></td></tr>
-<tr> <td class="numLineCover"> 225</td> <td class="nbHitsCovered"> 25</td> <td class="src"><pre class="src"> String path = <span class="keyword">null</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 224</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> DumpArchiveEntry entry = <span class="keyword">null</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 225</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> String path = <span class="keyword">null</span>;</pre></td></tr>
<tr> <td class="numLine"> 226</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 227</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// is there anything in the queue?</span></pre></td></tr>
-<tr> <td class="numLineCover"> 228</td> <td class="nbHitsUncovered"><a title="Line 228: Conditional coverage 50% (1/2)."> 25</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 228: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!queue.isEmpty()) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 228</td> <td class="nbHitsUncovered"><a title="Line 228: Conditional coverage 50% (1/2)."> 50</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 228: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!queue.isEmpty()) {</a></span></pre></td></tr>
<tr> <td class="numLineCover"> 229</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> queue.remove();</span></pre></td></tr>
<tr> <td class="numLine"> 230</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 231</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 232</td> <td class="nbHitsCovered"><a title="Line 232: Conditional coverage 100% (2/2)."> 45</a></td> <td class="src"><pre class="src"> <a title="Line 232: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (entry == <span class="keyword">null</span>) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 233</td> <td class="nbHitsUncovered"><a title="Line 233: Conditional coverage 50% (1/2)."> 25</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 233: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (hasHitEOF) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 232</td> <td class="nbHitsCovered"><a title="Line 232: Conditional coverage 100% (2/2)."> 90</a></td> <td class="src"><pre class="src"> <a title="Line 232: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (entry == <span class="keyword">null</span>) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 233</td> <td class="nbHitsUncovered"><a title="Line 233: Conditional coverage 50% (1/2)."> 50</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 233: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (hasHitEOF) {</a></span></pre></td></tr>
<tr> <td class="numLineCover"> 234</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">return</span> <span class="keyword">null</span>;</span></pre></td></tr>
<tr> <td class="numLine"> 235</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
@@ -438,8 +438,8 @@
<td class="src"><pre class="src"> <span class="comment">// block by block. We may want to revisit this if</span></pre></td></tr>
<tr> <td class="numLine"> 240</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// the unnecessary decompression time adds up.</span></pre></td></tr>
-<tr> <td class="numLineCover"> 241</td> <td class="nbHitsCovered"><a title="Line 241: Conditional coverage 100% (2/2)."> 57</a></td> <td class="src"><pre class="src"> <a title="Line 241: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (readIdx < active.getHeaderCount()) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 242</td> <td class="nbHitsUncovered"><a title="Line 242: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> 32</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 242: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> <span class="keyword">if</span> (!active.isSparseRecord(readIdx++)</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 241</td> <td class="nbHitsCovered"><a title="Line 241: Conditional coverage 100% (2/2)."> 114</a></td> <td class="src"><pre class="src"> <a title="Line 241: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (readIdx < active.getHeaderCount()) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 242</td> <td class="nbHitsUncovered"><a title="Line 242: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> 64</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 242: Conditional coverage 50% (2/4) [each condition: 50%, 50%]."> <span class="keyword">if</span> (!active.isSparseRecord(readIdx++)</a></span></pre></td></tr>
<tr> <td class="numLine"> 243</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> && raw.skip(DumpArchiveConstants.TP_SIZE) == -1) {</pre></td></tr>
<tr> <td class="numLineCover"> 244</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> EOFException();</span></pre></td></tr>
@@ -449,25 +449,25 @@
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 247</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 248</td> <td class="nbHitsCovered"> 25</td> <td class="src"><pre class="src"> readIdx = 0;</pre></td></tr>
-<tr> <td class="numLineCover"> 249</td> <td class="nbHitsCovered"> 25</td> <td class="src"><pre class="src"> filepos = raw.getBytesRead();</pre></td></tr>
+<tr> <td class="numLineCover"> 248</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> readIdx = 0;</pre></td></tr>
+<tr> <td class="numLineCover"> 249</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> filepos = raw.getBytesRead();</pre></td></tr>
<tr> <td class="numLine"> 250</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 251</td> <td class="nbHitsCovered"> 25</td> <td class="src"><pre class="src"> <span class="keyword">byte</span>[] headerBytes = raw.readRecord();</pre></td></tr>
+<tr> <td class="numLineCover"> 251</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> <span class="keyword">byte</span>[] headerBytes = raw.readRecord();</pre></td></tr>
<tr> <td class="numLine"> 252</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 253</td> <td class="nbHitsUncovered"><a title="Line 253: Conditional coverage 50% (1/2)."> 25</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 253: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!DumpArchiveUtil.verify(headerBytes)) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 253</td> <td class="nbHitsUncovered"><a title="Line 253: Conditional coverage 50% (1/2)."> 50</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 253: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!DumpArchiveUtil.verify(headerBytes)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover"> 254</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> InvalidFormatException();</span></pre></td></tr>
<tr> <td class="numLine"> 255</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 256</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 257</td> <td class="nbHitsCovered"> 25</td> <td class="src"><pre class="src"> active = DumpArchiveEntry.parse(headerBytes);</pre></td></tr>
+<tr> <td class="numLineCover"> 257</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> active = DumpArchiveEntry.parse(headerBytes);</pre></td></tr>
<tr> <td class="numLine"> 258</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 259</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// skip any remaining segments for prior file.</span></pre></td></tr>
-<tr> <td class="numLineCover"> 260</td> <td class="nbHitsUncovered"><a title="Line 260: Conditional coverage 50% (1/2)."> 25</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 260: Conditional coverage 50% (1/2)."> <span class="keyword">while</span> (DumpArchiveConstants.SEGMENT_TYPE.ADDR == active.getHeaderType()) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 260</td> <td class="nbHitsUncovered"><a title="Line 260: Conditional coverage 50% (1/2)."> 50</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 260: Conditional coverage 50% (1/2)."> <span class="keyword">while</span> (DumpArchiveConstants.SEGMENT_TYPE.ADDR == active.getHeaderType()) {</a></span></pre></td></tr>
<tr> <td class="numLineCover"> 261</td> <td class="nbHitsUncovered"><a title="Line 261: Conditional coverage 0% (0/2)."> 0</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 261: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (raw.skip(DumpArchiveConstants.TP_SIZE</a></span></pre></td></tr>
<tr> <td class="numLine"> 262</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> * (active.getHeaderCount()</pre></td></tr>
@@ -495,55 +495,55 @@
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 277</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// check if this is an end-of-volume marker.</span></pre></td></tr>
-<tr> <td class="numLineCover"> 278</td> <td class="nbHitsCovered"><a title="Line 278: Conditional coverage 100% (2/2)."> 25</a></td> <td class="src"><pre class="src"> <a title="Line 278: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (DumpArchiveConstants.SEGMENT_TYPE.END == active.getHeaderType()) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 279</td> <td class="nbHitsCovered"> 5</td> <td class="src"><pre class="src"> hasHitEOF = <span class="keyword">true</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 278</td> <td class="nbHitsCovered"><a title="Line 278: Conditional coverage 100% (2/2)."> 50</a></td> <td class="src"><pre class="src"> <a title="Line 278: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (DumpArchiveConstants.SEGMENT_TYPE.END == active.getHeaderType()) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 279</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> hasHitEOF = <span class="keyword">true</span>;</pre></td></tr>
<tr> <td class="numLine"> 280</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 281</td> <td class="nbHitsCovered"> 5</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">null</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 281</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">null</span>;</pre></td></tr>
<tr> <td class="numLine"> 282</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 283</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 284</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> entry = active;</pre></td></tr>
+<tr> <td class="numLineCover"> 284</td> <td class="nbHitsCovered"> 40</td> <td class="src"><pre class="src"> entry = active;</pre></td></tr>
<tr> <td class="numLine"> 285</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 286</td> <td class="nbHitsCovered"><a title="Line 286: Conditional coverage 100% (2/2)."> 20</a></td> <td class="src"><pre class="src"> <a title="Line 286: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (entry.isDirectory()) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 287</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> readDirectoryEntry(active);</pre></td></tr>
+<tr> <td class="numLineCover"> 286</td> <td class="nbHitsCovered"><a title="Line 286: Conditional coverage 100% (2/2)."> 40</a></td> <td class="src"><pre class="src"> <a title="Line 286: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (entry.isDirectory()) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 287</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> readDirectoryEntry(active);</pre></td></tr>
<tr> <td class="numLine"> 288</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 289</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// now we create an empty InputStream.</span></pre></td></tr>
-<tr> <td class="numLineCover"> 290</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> entryOffset = 0;</pre></td></tr>
-<tr> <td class="numLineCover"> 291</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> entrySize = 0;</pre></td></tr>
-<tr> <td class="numLineCover"> 292</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> readIdx = active.getHeaderCount();</pre></td></tr>
+<tr> <td class="numLineCover"> 290</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> entryOffset = 0;</pre></td></tr>
+<tr> <td class="numLineCover"> 291</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> entrySize = 0;</pre></td></tr>
+<tr> <td class="numLineCover"> 292</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> readIdx = active.getHeaderCount();</pre></td></tr>
<tr> <td class="numLine"> 293</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr>
-<tr> <td class="numLineCover"> 294</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> entryOffset = 0;</pre></td></tr>
-<tr> <td class="numLineCover"> 295</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> entrySize = active.getEntrySize();</pre></td></tr>
-<tr> <td class="numLineCover"> 296</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> readIdx = 0;</pre></td></tr>
+<tr> <td class="numLineCover"> 294</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> entryOffset = 0;</pre></td></tr>
+<tr> <td class="numLineCover"> 295</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> entrySize = active.getEntrySize();</pre></td></tr>
+<tr> <td class="numLineCover"> 296</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> readIdx = 0;</pre></td></tr>
<tr> <td class="numLine"> 297</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 298</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 299</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> recordOffset = readBuf.length;</pre></td></tr>
+<tr> <td class="numLineCover"> 299</td> <td class="nbHitsCovered"> 40</td> <td class="src"><pre class="src"> recordOffset = readBuf.length;</pre></td></tr>
<tr> <td class="numLine"> 300</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 301</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> path = getPath(entry);</pre></td></tr>
+<tr> <td class="numLineCover"> 301</td> <td class="nbHitsCovered"> 40</td> <td class="src"><pre class="src"> path = getPath(entry);</pre></td></tr>
<tr> <td class="numLine"> 302</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 303</td> <td class="nbHitsUncovered"><a title="Line 303: Conditional coverage 50% (1/2)."> 20</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 303: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (path == <span class="keyword">null</span>) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 303</td> <td class="nbHitsUncovered"><a title="Line 303: Conditional coverage 50% (1/2)."> 40</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 303: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (path == <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover"> 304</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> entry = <span class="keyword">null</span>;</span></pre></td></tr>
<tr> <td class="numLine"> 305</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 306</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 306</td> <td class="nbHitsCovered"> 40</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 307</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 308</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> entry.setName(path);</pre></td></tr>
-<tr> <td class="numLineCover"> 309</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> entry.setSimpleName(names.get(Integer.valueOf(entry.getIno())).getName());</pre></td></tr>
-<tr> <td class="numLineCover"> 310</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> entry.setOffset(filepos);</pre></td></tr>
+<tr> <td class="numLineCover"> 308</td> <td class="nbHitsCovered"> 40</td> <td class="src"><pre class="src"> entry.setName(path);</pre></td></tr>
+<tr> <td class="numLineCover"> 309</td> <td class="nbHitsCovered"> 40</td> <td class="src"><pre class="src"> entry.setSimpleName(names.get(Integer.valueOf(entry.getIno())).getName());</pre></td></tr>
+<tr> <td class="numLineCover"> 310</td> <td class="nbHitsCovered"> 40</td> <td class="src"><pre class="src"> entry.setOffset(filepos);</pre></td></tr>
<tr> <td class="numLine"> 311</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 312</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> <span class="keyword">return</span> entry;</pre></td></tr>
+<tr> <td class="numLineCover"> 312</td> <td class="nbHitsCovered"> 40</td> <td class="src"><pre class="src"> <span class="keyword">return</span> entry;</pre></td></tr>
<tr> <td class="numLine"> 313</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 314</td> <td class="nbHits"> </td>
@@ -558,22 +558,22 @@
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">void</span> readDirectoryEntry(DumpArchiveEntry entry)</pre></td></tr>
<tr> <td class="numLine"> 319</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">throws</span> IOException {</pre></td></tr>
-<tr> <td class="numLineCover"> 320</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> <span class="keyword">long</span> size = entry.getEntrySize();</pre></td></tr>
-<tr> <td class="numLineCover"> 321</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> <span class="keyword">boolean</span> first = <span class="keyword">true</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 320</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> <span class="keyword">long</span> size = entry.getEntrySize();</pre></td></tr>
+<tr> <td class="numLineCover"> 321</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> <span class="keyword">boolean</span> first = <span class="keyword">true</span>;</pre></td></tr>
<tr> <td class="numLine"> 322</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 323</td> <td class="nbHitsUncovered"><a title="Line 323: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> 20</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 323: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">while</span> (first ||</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 323</td> <td class="nbHitsUncovered"><a title="Line 323: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> 40</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 323: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">while</span> (first ||</a></span></pre></td></tr>
<tr> <td class="numLine"> 324</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> (DumpArchiveConstants.SEGMENT_TYPE.ADDR == entry.getHeaderType())) {</pre></td></tr>
<tr> <td class="numLine"> 325</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// read the header that we just peeked at.</span></pre></td></tr>
-<tr> <td class="numLineCover"> 326</td> <td class="nbHitsUncovered"><a title="Line 326: Conditional coverage 50% (1/2)."> 10</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 326: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!first) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 326</td> <td class="nbHitsUncovered"><a title="Line 326: Conditional coverage 50% (1/2)."> 20</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 326: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!first) {</a></span></pre></td></tr>
<tr> <td class="numLineCover"> 327</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> raw.readRecord();</span></pre></td></tr>
<tr> <td class="numLine"> 328</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 329</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 330</td> <td class="nbHitsUncovered"><a title="Line 330: Conditional coverage 25% (1/4) [each condition: 50%, 0%]."> 10</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 330: Conditional coverage 25% (1/4) [each condition: 50%, 0%]."> <span class="keyword">if</span> (!names.containsKey(Integer.valueOf(entry.getIno())) &&</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 330</td> <td class="nbHitsUncovered"><a title="Line 330: Conditional coverage 25% (1/4) [each condition: 50%, 0%]."> 20</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 330: Conditional coverage 25% (1/4) [each condition: 50%, 0%]."> <span class="keyword">if</span> (!names.containsKey(Integer.valueOf(entry.getIno())) &&</a></span></pre></td></tr>
<tr> <td class="numLine"> 331</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> (DumpArchiveConstants.SEGMENT_TYPE.INODE == entry.getHeaderType())) {</pre></td></tr>
<tr> <td class="numLineCover"> 332</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> pending.put(Integer.valueOf(entry.getIno()), entry);</span></pre></td></tr>
@@ -581,45 +581,45 @@
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 334</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 335</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> <span class="keyword">int</span> datalen = DumpArchiveConstants.TP_SIZE * entry.getHeaderCount();</pre></td></tr>
+<tr> <td class="numLineCover"> 335</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> <span class="keyword">int</span> datalen = DumpArchiveConstants.TP_SIZE * entry.getHeaderCount();</pre></td></tr>
<tr> <td class="numLine"> 336</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 337</td> <td class="nbHitsUncovered"><a title="Line 337: Conditional coverage 50% (1/2)."> 10</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 337: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (blockBuffer.length < datalen) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 337</td> <td class="nbHitsUncovered"><a title="Line 337: Conditional coverage 50% (1/2)."> 20</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 337: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (blockBuffer.length < datalen) {</a></span></pre></td></tr>
<tr> <td class="numLineCover"> 338</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> blockBuffer = <span class="keyword">new</span> <span class="keyword">byte</span>[datalen];</span></pre></td></tr>
<tr> <td class="numLine"> 339</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 340</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 341</td> <td class="nbHitsUncovered"><a title="Line 341: Conditional coverage 50% (1/2)."> 10</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 341: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (raw.read(blockBuffer, 0, datalen) != datalen) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 341</td> <td class="nbHitsUncovered"><a title="Line 341: Conditional coverage 50% (1/2)."> 20</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 341: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (raw.read(blockBuffer, 0, datalen) != datalen) {</a></span></pre></td></tr>
<tr> <td class="numLineCover"> 342</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> EOFException();</span></pre></td></tr>
<tr> <td class="numLine"> 343</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 344</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 345</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> <span class="keyword">int</span> reclen = 0;</pre></td></tr>
+<tr> <td class="numLineCover"> 345</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> <span class="keyword">int</span> reclen = 0;</pre></td></tr>
<tr> <td class="numLine"> 346</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 347</td> <td class="nbHitsUncovered"><a title="Line 347: Conditional coverage 75% (3/4) [each condition: 50%, 100%]."> 10</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 347: Conditional coverage 75% (3/4) [each condition: 50%, 100%]."> <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; (i < (datalen - 8)) && (i < (size - 8));</a></span></pre></td></tr>
-<tr> <td class="numLineCover"> 348</td> <td class="nbHitsCovered"> 35</td> <td class="src"><pre class="src"> i += reclen) {</pre></td></tr>
-<tr> <td class="numLineCover"> 349</td> <td class="nbHitsCovered"> 35</td> <td class="src"><pre class="src"> <span class="keyword">int</span> ino = DumpArchiveUtil.convert32(blockBuffer, i);</pre></td></tr>
-<tr> <td class="numLineCover"> 350</td> <td class="nbHitsCovered"> 35</td> <td class="src"><pre class="src"> reclen = DumpArchiveUtil.convert16(blockBuffer, i + 4);</pre></td></tr>
+<tr> <td class="numLineCover"> 347</td> <td class="nbHitsUncovered"><a title="Line 347: Conditional coverage 75% (3/4) [each condition: 50%, 100%]."> 20</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 347: Conditional coverage 75% (3/4) [each condition: 50%, 100%]."> <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; (i < (datalen - 8)) && (i < (size - 8));</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 348</td> <td class="nbHitsCovered"> 70</td> <td class="src"><pre class="src"> i += reclen) {</pre></td></tr>
+<tr> <td class="numLineCover"> 349</td> <td class="nbHitsCovered"> 70</td> <td class="src"><pre class="src"> <span class="keyword">int</span> ino = DumpArchiveUtil.convert32(blockBuffer, i);</pre></td></tr>
+<tr> <td class="numLineCover"> 350</td> <td class="nbHitsCovered"> 70</td> <td class="src"><pre class="src"> reclen = DumpArchiveUtil.convert16(blockBuffer, i + 4);</pre></td></tr>
<tr> <td class="numLine"> 351</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 352</td> <td class="nbHitsCovered"> 35</td> <td class="src"><pre class="src"> <span class="keyword">byte</span> type = blockBuffer[i + 6];</pre></td></tr>
+<tr> <td class="numLineCover"> 352</td> <td class="nbHitsCovered"> 70</td> <td class="src"><pre class="src"> <span class="keyword">byte</span> type = blockBuffer[i + 6];</pre></td></tr>
<tr> <td class="numLine"> 353</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 354</td> <td class="nbHitsCovered"> 35</td> <td class="src"><pre class="src"> String name = DumpArchiveUtil.decode(encoding, blockBuffer, i + 8, blockBuffer[i + 7]);</pre></td></tr>
+<tr> <td class="numLineCover"> 354</td> <td class="nbHitsCovered"> 70</td> <td class="src"><pre class="src"> String name = DumpArchiveUtil.decode(encoding, blockBuffer, i + 8, blockBuffer[i + 7]);</pre></td></tr>
<tr> <td class="numLine"> 355</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 356</td> <td class="nbHitsCovered"><a title="Line 356: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 35</a></td> <td class="src"><pre class="src"> <a title="Line 356: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (<span class="string">"."</span>.equals(name) || <span class="string">".."</span>.equals(name)) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 356</td> <td class="nbHitsCovered"><a title="Line 356: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 70</a></td> <td class="src"><pre class="src"> <a title="Line 356: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (<span class="string">"."</span>.equals(name) || <span class="string">".."</span>.equals(name)) {</a></pre></td></tr>
<tr> <td class="numLine"> 357</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// do nothing...</span></pre></td></tr>
-<tr> <td class="numLineCover"> 358</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> <span class="keyword">continue</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 358</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> <span class="keyword">continue</span>;</pre></td></tr>
<tr> <td class="numLine"> 359</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 360</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 361</td> <td class="nbHitsCovered"> 15</td> <td class="src"><pre class="src"> Dirent d = <span class="keyword">new</span> Dirent(ino, entry.getIno(), type, name);</pre></td></tr>
+<tr> <td class="numLineCover"> 361</td> <td class="nbHitsCovered"> 30</td> <td class="src"><pre class="src"> Dirent d = <span class="keyword">new</span> Dirent(ino, entry.getIno(), type, name);</pre></td></tr>
<tr> <td class="numLine"> 362</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 363</td> <td class="nbHits"> </td>
@@ -636,12 +636,12 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 369</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 370</td> <td class="nbHitsCovered"> 15</td> <td class="src"><pre class="src"> names.put(Integer.valueOf(ino), d);</pre></td></tr>
+<tr> <td class="numLineCover"> 370</td> <td class="nbHitsCovered"> 30</td> <td class="src"><pre class="src"> names.put(Integer.valueOf(ino), d);</pre></td></tr>
<tr> <td class="numLine"> 371</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 372</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// check whether this allows us to fill anything in the pending list.</span></pre></td></tr>
-<tr> <td class="numLineCover"> 373</td> <td class="nbHitsUncovered"><a title="Line 373: Conditional coverage 50% (1/2)."> 15</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 373: Conditional coverage 50% (1/2)."> <span class="keyword">for</span> (Map.Entry<Integer, DumpArchiveEntry> e : pending.entrySet()) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 373</td> <td class="nbHitsUncovered"><a title="Line 373: Conditional coverage 50% (1/2)."> 30</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 373: Conditional coverage 50% (1/2)."> <span class="keyword">for</span> (Map.Entry<Integer, DumpArchiveEntry> e : pending.entrySet()) {</a></span></pre></td></tr>
<tr> <td class="numLineCover"> 374</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> String path = getPath(e.getValue());</span></pre></td></tr>
<tr> <td class="numLine"> 375</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
@@ -660,27 +660,27 @@
<td class="src"><pre class="src"> <span class="comment">// remove anything that we found. (We can't do it earlier</span></pre></td></tr>
<tr> <td class="numLine"> 385</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// because of concurrent modification exceptions.)</span></pre></td></tr>
-<tr> <td class="numLineCover"> 386</td> <td class="nbHitsUncovered"><a title="Line 386: Conditional coverage 50% (1/2)."> 15</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 386: Conditional coverage 50% (1/2)."> <span class="keyword">for</span> (DumpArchiveEntry e : queue) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 386</td> <td class="nbHitsUncovered"><a title="Line 386: Conditional coverage 50% (1/2)."> 30</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 386: Conditional coverage 50% (1/2)."> <span class="keyword">for</span> (DumpArchiveEntry e : queue) {</a></span></pre></td></tr>
<tr> <td class="numLineCover"> 387</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> pending.remove(Integer.valueOf(e.getIno()));</span></pre></td></tr>
<tr> <td class="numLineCover"> 388</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> }</span></pre></td></tr>
<tr> <td class="numLine"> 389</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 390</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 391</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> <span class="keyword">byte</span>[] peekBytes = raw.peek();</pre></td></tr>
+<tr> <td class="numLineCover"> 391</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> <span class="keyword">byte</span>[] peekBytes = raw.peek();</pre></td></tr>
<tr> <td class="numLine"> 392</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 393</td> <td class="nbHitsUncovered"><a title="Line 393: Conditional coverage 50% (1/2)."> 10</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 393: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!DumpArchiveUtil.verify(peekBytes)) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 393</td> <td class="nbHitsUncovered"><a title="Line 393: Conditional coverage 50% (1/2)."> 20</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 393: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!DumpArchiveUtil.verify(peekBytes)) {</a></span></pre></td></tr>
<tr> <td class="numLineCover"> 394</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> InvalidFormatException();</span></pre></td></tr>
<tr> <td class="numLine"> 395</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 396</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 397</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> entry = DumpArchiveEntry.parse(peekBytes);</pre></td></tr>
-<tr> <td class="numLineCover"> 398</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> first = <span class="keyword">false</span>;</pre></td></tr>
-<tr> <td class="numLineCover"> 399</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> size -= DumpArchiveConstants.TP_SIZE;</pre></td></tr>
-<tr> <td class="numLineCover"> 400</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 401</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 397</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> entry = DumpArchiveEntry.parse(peekBytes);</pre></td></tr>
+<tr> <td class="numLineCover"> 398</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> first = <span class="keyword">false</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 399</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> size -= DumpArchiveConstants.TP_SIZE;</pre></td></tr>
+<tr> <td class="numLineCover"> 400</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 401</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 402</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 403</td> <td class="nbHits"> </td>
@@ -701,24 +701,24 @@
<td class="src"><pre class="src"> <span class="comment">// build the stack of elements. It's possible that we're </span></pre></td></tr>
<tr> <td class="numLine"> 411</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// still missing an intermediate value and if so we</span></pre></td></tr>
-<tr> <td class="numLineCover"> 412</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> Stack<String> elements = <span class="keyword">new</span> Stack<String>();</pre></td></tr>
-<tr> <td class="numLineCover"> 413</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> Dirent dirent = <span class="keyword">null</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 412</td> <td class="nbHitsCovered"> 40</td> <td class="src"><pre class="src"> Stack<String> elements = <span class="keyword">new</span> Stack<String>();</pre></td></tr>
+<tr> <td class="numLineCover"> 413</td> <td class="nbHitsCovered"> 40</td> <td class="src"><pre class="src"> Dirent dirent = <span class="keyword">null</span>;</pre></td></tr>
<tr> <td class="numLine"> 414</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 415</td> <td class="nbHitsCovered"> 35</td> <td class="src"><pre class="src"> <span class="keyword">for</span> (<span class="keyword">int</span> i = entry.getIno();; i = dirent.getParentIno()) {</pre></td></tr>
-<tr> <td class="numLineCover"> 416</td> <td class="nbHitsUncovered"><a title="Line 416: Conditional coverage 50% (1/2)."> 35</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 416: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!names.containsKey(Integer.valueOf(i))) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 415</td> <td class="nbHitsCovered"> 70</td> <td class="src"><pre class="src"> <span class="keyword">for</span> (<span class="keyword">int</span> i = entry.getIno();; i = dirent.getParentIno()) {</pre></td></tr>
+<tr> <td class="numLineCover"> 416</td> <td class="nbHitsUncovered"><a title="Line 416: Conditional coverage 50% (1/2)."> 70</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 416: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!names.containsKey(Integer.valueOf(i))) {</a></span></pre></td></tr>
<tr> <td class="numLineCover"> 417</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> elements.clear();</span></pre></td></tr>
<tr> <td class="numLineCover"> 418</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">break</span>;</span></pre></td></tr>
<tr> <td class="numLine"> 419</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 420</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 421</td> <td class="nbHitsCovered"> 35</td> <td class="src"><pre class="src"> dirent = names.get(Integer.valueOf(i));</pre></td></tr>
-<tr> <td class="numLineCover"> 422</td> <td class="nbHitsCovered"> 35</td> <td class="src"><pre class="src"> elements.push(dirent.getName());</pre></td></tr>
+<tr> <td class="numLineCover"> 421</td> <td class="nbHitsCovered"> 70</td> <td class="src"><pre class="src"> dirent = names.get(Integer.valueOf(i));</pre></td></tr>
+<tr> <td class="numLineCover"> 422</td> <td class="nbHitsCovered"> 70</td> <td class="src"><pre class="src"> elements.push(dirent.getName());</pre></td></tr>
<tr> <td class="numLine"> 423</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 424</td> <td class="nbHitsCovered"><a title="Line 424: Conditional coverage 100% (2/2)."> 35</a></td> <td class="src"><pre class="src"> <a title="Line 424: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (dirent.getIno() == dirent.getParentIno()) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 425</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> <span class="keyword">break</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 424</td> <td class="nbHitsCovered"><a title="Line 424: Conditional coverage 100% (2/2)."> 70</a></td> <td class="src"><pre class="src"> <a title="Line 424: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (dirent.getIno() == dirent.getParentIno()) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 425</td> <td class="nbHitsCovered"> 40</td> <td class="src"><pre class="src"> <span class="keyword">break</span>;</pre></td></tr>
<tr> <td class="numLine"> 426</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 427</td> <td class="nbHits"> </td>
@@ -727,7 +727,7 @@
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 429</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// if an element is missing defer the work and read next entry.</span></pre></td></tr>
-<tr> <td class="numLineCover"> 430</td> <td class="nbHitsUncovered"><a title="Line 430: Conditional coverage 50% (1/2)."> 20</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 430: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (elements.isEmpty()) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 430</td> <td class="nbHitsUncovered"><a title="Line 430: Conditional coverage 50% (1/2)."> 40</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 430: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (elements.isEmpty()) {</a></span></pre></td></tr>
<tr> <td class="numLineCover"> 431</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> pending.put(Integer.valueOf(entry.getIno()), entry);</span></pre></td></tr>
<tr> <td class="numLine"> 432</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
@@ -738,17 +738,17 @@
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 436</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// generate full path from stack of elements.</span></pre></td></tr>
-<tr> <td class="numLineCover"> 437</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> StringBuilder sb = <span class="keyword">new</span> StringBuilder(elements.pop());</pre></td></tr>
+<tr> <td class="numLineCover"> 437</td> <td class="nbHitsCovered"> 40</td> <td class="src"><pre class="src"> StringBuilder sb = <span class="keyword">new</span> StringBuilder(elements.pop());</pre></td></tr>
<tr> <td class="numLine"> 438</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 439</td> <td class="nbHitsCovered"><a title="Line 439: Conditional coverage 100% (2/2)."> 35</a></td> <td class="src"><pre class="src"> <a title="Line 439: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (!elements.isEmpty()) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 440</td> <td class="nbHitsCovered"> 15</td> <td class="src"><pre class="src"> sb.append(<span class="string">'/'</span>);</pre></td></tr>
-<tr> <td class="numLineCover"> 441</td> <td class="nbHitsCovered"> 15</td> <td class="src"><pre class="src"> sb.append(elements.pop());</pre></td></tr>
[... 162 lines stripped ...]