Skip to content

Commit 7c0d57e

Browse files
committed
Replicas of dummy encodings should also be dummy encodings.
1 parent 6b60d54 commit 7c0d57e

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

src/org/jcodings/EncodingDB.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,13 +171,20 @@ public static void alias(String alias, String original) {
171171
}
172172

173173
public static void replicate(String replica, String original) {
174-
replicate(replica, original, false);
174+
byte[]origBytes = original.getBytes();
175+
Entry originalEntry = encodings.get(origBytes);
176+
if (originalEntry == null) throw new InternalException(ErrorMessages.ERR_NO_SUCH_ENCODNG, original);
177+
finishReplica(replica, originalEntry.isDummy, originalEntry);
175178
}
176179

177180
private static void replicate(String replica, String original, boolean dummy) {
178181
byte[]origBytes = original.getBytes();
179182
Entry originalEntry = encodings.get(origBytes);
180183
if (originalEntry == null) throw new InternalException(ErrorMessages.ERR_NO_SUCH_ENCODNG, original);
184+
finishReplica(replica, dummy, originalEntry);
185+
}
186+
187+
private static void finishReplica(String replica, boolean dummy, Entry originalEntry) {
181188
byte[]replicaBytes = replica.getBytes();
182189
if (encodings.get(replicaBytes) != null) throw new InternalException(ErrorMessages.ERR_ENCODING_REPLICA_ALREADY_REGISTERED, replica);
183190
encodings.putDirect(replicaBytes, new Entry(replicaBytes, originalEntry, dummy));

0 commit comments

Comments
 (0)