From 505f57f43e0f4dee910f181a2c233ac52fb6b06f Mon Sep 17 00:00:00 2001 From: Vhati Date: Sat, 30 Dec 2017 09:32:52 -0500 Subject: [PATCH] asciiEncoder.reset().canEncode(...) --- src/main/java/net/vhati/ftldat/FTLPack.java | 2 +- src/main/java/net/vhati/ftldat/PkgPack.java | 6 +++--- src/main/java/net/vhati/modmanager/core/ModUtilities.java | 3 ++- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/main/java/net/vhati/ftldat/FTLPack.java b/src/main/java/net/vhati/ftldat/FTLPack.java index c9cd425..613f303 100644 --- a/src/main/java/net/vhati/ftldat/FTLPack.java +++ b/src/main/java/net/vhati/ftldat/FTLPack.java @@ -329,7 +329,7 @@ public class FTLPack extends AbstractPack { if ( pathToIndexMap.containsKey( innerPath ) ) { throw new IOException( "InnerPath already exists: "+ innerPath ); } - if ( !asciiEncoder.canEncode( innerPath ) ) { + if ( !asciiEncoder.reset().canEncode( innerPath ) ) { throw new IllegalArgumentException( "InnerPath contains non-ascii characters: "+ innerPath ); } diff --git a/src/main/java/net/vhati/ftldat/PkgPack.java b/src/main/java/net/vhati/ftldat/PkgPack.java index f973093..04abfd4 100644 --- a/src/main/java/net/vhati/ftldat/PkgPack.java +++ b/src/main/java/net/vhati/ftldat/PkgPack.java @@ -266,7 +266,7 @@ public class PkgPack extends AbstractPack { char c = (char)srcBuf.get(); if ( c == '\0' ) break; - if ( !asciiEncoder.canEncode( c ) ) { + if ( !asciiEncoder.reset().canEncode( c ) ) { throw new IOException( String.format( "Unexpected non-ASCII char in null-terminated string: %X", c ) ); } @@ -276,7 +276,7 @@ public class PkgPack extends AbstractPack { } private int writeNullTerminatedString( ByteBuffer dstBuf, CharSequence s ) throws IOException { - if ( !asciiEncoder.canEncode( s ) ) { + if ( !asciiEncoder.reset().canEncode( s ) ) { throw new IllegalArgumentException( "The PKG format does not support non-ascii characters: "+ s ); } @@ -577,7 +577,7 @@ public class PkgPack extends AbstractPack { if ( pathToIndexMap.containsKey( innerPath ) ) { throw new IOException( "InnerPath already exists: "+ innerPath ); } - if ( !asciiEncoder.canEncode( innerPath ) ) { + if ( !asciiEncoder.reset().canEncode( innerPath ) ) { throw new IllegalArgumentException( "InnerPath contains non-ascii characters: "+ innerPath ); } diff --git a/src/main/java/net/vhati/modmanager/core/ModUtilities.java b/src/main/java/net/vhati/modmanager/core/ModUtilities.java index b92c826..e3ddd95 100644 --- a/src/main/java/net/vhati/modmanager/core/ModUtilities.java +++ b/src/main/java/net/vhati/modmanager/core/ModUtilities.java @@ -459,7 +459,7 @@ public class ModUtilities { innerPath = innerPath.replace( '\\', '/' ); } - if ( !asciiEncoder.canEncode( innerPath ) ) { + if ( !asciiEncoder.reset().canEncode( innerPath ) ) { pendingMsgs.add( new ReportMessage( ReportMessage.ERROR, String.format( "Non-ASCII characters in path." ) @@ -576,6 +576,7 @@ public class ModUtilities { modValid = false; } + // Found chars unique to windows-1252. if ( decodeResult.encoding.equalsIgnoreCase( "windows-1252" ) ) { pendingMsgs.add( new ReportMessage( ReportMessage.WARNING,