From ea4982e4532f0cd2b793375f2c9f54c3c389c552 Mon Sep 17 00:00:00 2001 From: Justin Clarke Casey Date: Fri, 30 May 2008 16:08:28 +0000 Subject: * Successfully pick out prims.xml file from archive --- .../Environment/Modules/World/Archiver/TarArchiveReader.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'OpenSim/Region/Environment/Modules/World/Archiver/TarArchiveReader.cs') diff --git a/OpenSim/Region/Environment/Modules/World/Archiver/TarArchiveReader.cs b/OpenSim/Region/Environment/Modules/World/Archiver/TarArchiveReader.cs index aacae95..b199d5f 100644 --- a/OpenSim/Region/Environment/Modules/World/Archiver/TarArchiveReader.cs +++ b/OpenSim/Region/Environment/Modules/World/Archiver/TarArchiveReader.cs @@ -28,6 +28,7 @@ using System; using System.IO; using System.Reflection; +using System.Text; using log4net; namespace OpenSim.Region.Environment.Modules.World.Archiver @@ -39,13 +40,18 @@ namespace OpenSim.Region.Environment.Modules.World.Archiver { private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - protected static System.Text.ASCIIEncoding m_asciiEncoding = new System.Text.ASCIIEncoding(); + protected static ASCIIEncoding m_asciiEncoding = new ASCIIEncoding(); /// /// Binary reader for the underlying stream /// protected BinaryReader m_br; + /// + /// Used to trim off null chars + /// + protected char[] m_nullCharArray = new char[] { '\0' }; + public TarArchiveReader(string archivePath) { m_br = new BinaryReader(new FileStream(archivePath, FileMode.Open)); @@ -109,6 +115,7 @@ namespace OpenSim.Region.Environment.Modules.World.Archiver byte[] header = m_br.ReadBytes(512); tarHeader.FilePath = m_asciiEncoding.GetString(header, 0, 100); + tarHeader.FilePath = tarHeader.FilePath.Trim(m_nullCharArray); tarHeader.FileSize = ConvertOctalBytesToDecimal(header, 124, 11); return tarHeader; -- cgit v1.1