From cecc399ee85c208a70853841a28f593eb1d23a74 Mon Sep 17 00:00:00 2001 From: David McKnight Date: Fri, 18 Jan 2008 19:36:22 +0000 Subject: [PATCH] [215847]SystemEncodingUtil needs to convert to unsigned when checking xml file --- .../clientserver/SystemEncodingUtil.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/rse/plugins/org.eclipse.rse.services/clientserver/org/eclipse/rse/services/clientserver/SystemEncodingUtil.java b/rse/plugins/org.eclipse.rse.services/clientserver/org/eclipse/rse/services/clientserver/SystemEncodingUtil.java index 7fc57358d9a..385ada61334 100644 --- a/rse/plugins/org.eclipse.rse.services/clientserver/org/eclipse/rse/services/clientserver/SystemEncodingUtil.java +++ b/rse/plugins/org.eclipse.rse.services/clientserver/org/eclipse/rse/services/clientserver/SystemEncodingUtil.java @@ -12,7 +12,8 @@ * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. * * Contributors: - * {Name} (company) - description of contribution. + * David McKnight (IBM) [215847]SystemEncodingUtil needs to convert to unsigned when checking xml file + * *******************************************************************************/ package org.eclipse.rse.services.clientserver; @@ -116,13 +117,21 @@ public class SystemEncodingUtil { if (encodingGuess == null) { stream = new FileInputStream(filePath); - - byte[] temp = new byte[4]; + + byte[] tempSigned = new byte[4]; - stream.read(temp); + stream.read(tempSigned); stream.close(); + + // convert to unsigned + int[] temp = new int[4]; + for (int i = 0; i < 4; i++){ + temp[i] = 0xFF & tempSigned[i]; + } + + // UTF-8, ISO 646, ASCII, some part of ISO 8859, Shift-JIS, EUC, or any other 7-bit, // 8-bit, or mixed-width encoding which ensures that the characters of ASCII have their // normal positions, width, and values; the actual encoding declaration must be read to