Browse Source

Merge "Fix TransportException when reading bundle"

stable-4.3
Shawn Pearce 9 years ago committed by Gerrit Code Review @ Eclipse.org
parent
commit
08aac5904e
  1. 27
      org.eclipse.jgit/src/org/eclipse/jgit/transport/BundleFetchConnection.java

27
org.eclipse.jgit/src/org/eclipse/jgit/transport/BundleFetchConnection.java

@ -161,16 +161,23 @@ class BundleFetchConnection extends BaseFetchConnection {
}
private String readLine(final byte[] hdrbuf) throws IOException {
bin.mark(hdrbuf.length);
final int cnt = bin.read(hdrbuf);
int lf = 0;
while (lf < cnt && hdrbuf[lf] != '\n')
lf++;
bin.reset();
IO.skipFully(bin, lf);
if (lf < cnt && hdrbuf[lf] == '\n')
IO.skipFully(bin, 1);
return RawParseUtils.decode(Constants.CHARSET, hdrbuf, 0, lf);
StringBuilder line = new StringBuilder();
boolean done = false;
while (!done) {
bin.mark(hdrbuf.length);
final int cnt = bin.read(hdrbuf);
int lf = 0;
while (lf < cnt && hdrbuf[lf] != '\n')
lf++;
bin.reset();
IO.skipFully(bin, lf);
if (lf < cnt && hdrbuf[lf] == '\n') {
IO.skipFully(bin, 1);
done = true;
}
line.append(RawParseUtils.decode(Constants.CHARSET, hdrbuf, 0, lf));
}
return line.toString();
}
public boolean didFetchTestConnectivity() {

Loading…
Cancel
Save