COMPRESS-180 new String(byte[]) conversions use default encoding
Document where the charset might need specifying
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/compress/trunk@1307868 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/commons/compress/archivers/cpio/CpioArchiveInputStream.java b/src/main/java/org/apache/commons/compress/archivers/cpio/CpioArchiveInputStream.java
index 41b3433..fac5539 100644
--- a/src/main/java/org/apache/commons/compress/archivers/cpio/CpioArchiveInputStream.java
+++ b/src/main/java/org/apache/commons/compress/archivers/cpio/CpioArchiveInputStream.java
@@ -385,7 +385,7 @@
private String readCString(final int length) throws IOException {
byte tmpBuffer[] = new byte[length];
readFully(tmpBuffer, 0, tmpBuffer.length);
- return new String(tmpBuffer, 0, tmpBuffer.length - 1);
+ return new String(tmpBuffer, 0, tmpBuffer.length - 1); // TODO default charset?
}
/**
diff --git a/src/main/java/org/apache/commons/compress/archivers/dump/DumpArchiveInputStream.java b/src/main/java/org/apache/commons/compress/archivers/dump/DumpArchiveInputStream.java
index b64c1b2..d09bdac 100644
--- a/src/main/java/org/apache/commons/compress/archivers/dump/DumpArchiveInputStream.java
+++ b/src/main/java/org/apache/commons/compress/archivers/dump/DumpArchiveInputStream.java
@@ -326,7 +326,7 @@
byte type = blockBuffer[i + 6];
- String name = new String(blockBuffer, i + 8, blockBuffer[i + 7]);
+ String name = new String(blockBuffer, i + 8, blockBuffer[i + 7]); // TODO default charset?
if (".".equals(name) || "..".equals(name)) {
// do nothing...
diff --git a/src/main/java/org/apache/commons/compress/archivers/dump/DumpArchiveSummary.java b/src/main/java/org/apache/commons/compress/archivers/dump/DumpArchiveSummary.java
index 952bf6b..fca377f 100644
--- a/src/main/java/org/apache/commons/compress/archivers/dump/DumpArchiveSummary.java
+++ b/src/main/java/org/apache/commons/compress/archivers/dump/DumpArchiveSummary.java
@@ -45,11 +45,11 @@
dumpDate = 1000L * DumpArchiveUtil.convert32(buffer, 4);
previousDumpDate = 1000L * DumpArchiveUtil.convert32(buffer, 8);
volume = DumpArchiveUtil.convert32(buffer, 12);
- label = new String(buffer, 676, DumpArchiveConstants.LBLSIZE).trim();
+ label = new String(buffer, 676, DumpArchiveConstants.LBLSIZE).trim(); // TODO default charset?
level = DumpArchiveUtil.convert32(buffer, 692);
- filesys = new String(buffer, 696, DumpArchiveConstants.NAMELEN).trim();
- devname = new String(buffer, 760, DumpArchiveConstants.NAMELEN).trim();
- hostname = new String(buffer, 824, DumpArchiveConstants.NAMELEN).trim();
+ filesys = new String(buffer, 696, DumpArchiveConstants.NAMELEN).trim(); // TODO default charset?
+ devname = new String(buffer, 760, DumpArchiveConstants.NAMELEN).trim(); // TODO default charset?
+ hostname = new String(buffer, 824, DumpArchiveConstants.NAMELEN).trim(); // TODO default charset?
flags = DumpArchiveUtil.convert32(buffer, 888);
firstrec = DumpArchiveUtil.convert32(buffer, 892);
ntrec = DumpArchiveUtil.convert32(buffer, 896);
diff --git a/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveInputStream.java b/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveInputStream.java
index f614bb9..ada4746 100644
--- a/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveInputStream.java
+++ b/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveInputStream.java
@@ -249,7 +249,7 @@
byte[] buf = new byte[SMALL_BUFFER_SIZE];
int length = 0;
while ((length = read(buf)) >= 0) {
- longName.append(new String(buf, 0, length));
+ longName.append(new String(buf, 0, length)); // TODO default charset?
}
getNextEntry();
if (currEntry == null) {
diff --git a/src/main/java/org/apache/commons/compress/archivers/tar/TarUtils.java b/src/main/java/org/apache/commons/compress/archivers/tar/TarUtils.java
index 6cff3d5..747e64a 100644
--- a/src/main/java/org/apache/commons/compress/archivers/tar/TarUtils.java
+++ b/src/main/java/org/apache/commons/compress/archivers/tar/TarUtils.java
@@ -235,7 +235,7 @@
// Helper method to generate the exception message
private static String exceptionMessage(byte[] buffer, final int offset,
final int length, int current, final byte currentByte) {
- String string = new String(buffer, offset, length);
+ String string = new String(buffer, offset, length); // TODO default charset?
string=string.replaceAll("\0", "{NUL}"); // Replace NULs to allow string to be printed
final String s = "Invalid byte "+currentByte+" at offset "+(current-offset)+" in '"+string+"' len="+length;
return s;