Merge remote-tracking branch 'upstream/master'
This commit is contained in:
2
pom.xml
2
pom.xml
@@ -9,7 +9,7 @@
|
||||
<packaging>jar</packaging>
|
||||
<groupId>redis.clients</groupId>
|
||||
<artifactId>jedis</artifactId>
|
||||
<version>2.5.1-SNAPSHOT</version>
|
||||
<version>2.5.2-SNAPSHOT</version>
|
||||
<name>Jedis</name>
|
||||
<description>Jedis is a blazingly small and sane Redis java client.</description>
|
||||
<url>https://github.com/xetorthio/jedis</url>
|
||||
|
||||
@@ -34,10 +34,10 @@ public final class RedisOutputStream extends FilterOutputStream {
|
||||
}
|
||||
|
||||
public void write(final byte b) throws IOException {
|
||||
buf[count++] = b;
|
||||
if (count == buf.length) {
|
||||
flushBuffer();
|
||||
}
|
||||
buf[count++] = b;
|
||||
}
|
||||
|
||||
public void write(final byte[] b) throws IOException {
|
||||
@@ -63,10 +63,10 @@ public final class RedisOutputStream extends FilterOutputStream {
|
||||
final int size = in.length();
|
||||
|
||||
for (int i = 0; i != size; ++i) {
|
||||
buf[count++] = (byte) in.charAt(i);
|
||||
if (count == buf.length) {
|
||||
flushBuffer();
|
||||
}
|
||||
buf[count++] = (byte) in.charAt(i);
|
||||
}
|
||||
|
||||
writeCrLf();
|
||||
@@ -111,19 +111,19 @@ public final class RedisOutputStream extends FilterOutputStream {
|
||||
char c = str.charAt(i);
|
||||
if (!(c < 0x80))
|
||||
break;
|
||||
buf[count++] = (byte) c;
|
||||
if (count == buf.length) {
|
||||
flushBuffer();
|
||||
}
|
||||
buf[count++] = (byte) c;
|
||||
}
|
||||
|
||||
for (; i < strLen; i++) {
|
||||
char c = str.charAt(i);
|
||||
if (c < 0x80) {
|
||||
buf[count++] = (byte) c;
|
||||
if (count == buf.length) {
|
||||
flushBuffer();
|
||||
}
|
||||
buf[count++] = (byte) c;
|
||||
} else if (c < 0x800) {
|
||||
if (2 >= buf.length - count) {
|
||||
flushBuffer();
|
||||
|
||||
@@ -4,6 +4,7 @@ import java.io.BufferedInputStream;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.io.PipedInputStream;
|
||||
import java.io.PipedOutputStream;
|
||||
import java.util.ArrayList;
|
||||
@@ -38,6 +39,28 @@ public class ProtocolTest extends JedisTestBase {
|
||||
|
||||
assertEquals(expectedCommand, sb.toString());
|
||||
}
|
||||
|
||||
@Test(expected=IOException.class)
|
||||
public void writeOverflow() throws IOException {
|
||||
RedisOutputStream ros = new RedisOutputStream(new OutputStream() {
|
||||
|
||||
@Override
|
||||
public void write(int b) throws IOException {
|
||||
throw new IOException("thrown exception");
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
ros.write(new byte[8191]);
|
||||
|
||||
try {
|
||||
ros.write((byte)'*');
|
||||
} catch (IOException ioe) {}
|
||||
|
||||
|
||||
ros.write((byte)'*');
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void bulkReply() {
|
||||
|
||||
Reference in New Issue
Block a user