aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Modules/World/Archiver/TarArchiveReader.cs
diff options
context:
space:
mode:
authorJustin Clarke Casey2008-05-30 16:08:28 +0000
committerJustin Clarke Casey2008-05-30 16:08:28 +0000
commitea4982e4532f0cd2b793375f2c9f54c3c389c552 (patch)
tree9f4c271ef83571b2ac8ff516868297d882156f69 /OpenSim/Region/Environment/Modules/World/Archiver/TarArchiveReader.cs
parentMantis#1422. Thank you kindly, Xantor for a patch that : (diff)
downloadopensim-SC_OLD-ea4982e4532f0cd2b793375f2c9f54c3c389c552.zip
opensim-SC_OLD-ea4982e4532f0cd2b793375f2c9f54c3c389c552.tar.gz
opensim-SC_OLD-ea4982e4532f0cd2b793375f2c9f54c3c389c552.tar.bz2
opensim-SC_OLD-ea4982e4532f0cd2b793375f2c9f54c3c389c552.tar.xz
* Successfully pick out prims.xml file from archive
Diffstat (limited to 'OpenSim/Region/Environment/Modules/World/Archiver/TarArchiveReader.cs')
-rw-r--r--OpenSim/Region/Environment/Modules/World/Archiver/TarArchiveReader.cs9
1 files changed, 8 insertions, 1 deletions
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 @@
28using System; 28using System;
29using System.IO; 29using System.IO;
30using System.Reflection; 30using System.Reflection;
31using System.Text;
31using log4net; 32using log4net;
32 33
33namespace OpenSim.Region.Environment.Modules.World.Archiver 34namespace OpenSim.Region.Environment.Modules.World.Archiver
@@ -39,13 +40,18 @@ namespace OpenSim.Region.Environment.Modules.World.Archiver
39 { 40 {
40 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 41 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
41 42
42 protected static System.Text.ASCIIEncoding m_asciiEncoding = new System.Text.ASCIIEncoding(); 43 protected static ASCIIEncoding m_asciiEncoding = new ASCIIEncoding();
43 44
44 /// <summary> 45 /// <summary>
45 /// Binary reader for the underlying stream 46 /// Binary reader for the underlying stream
46 /// </summary> 47 /// </summary>
47 protected BinaryReader m_br; 48 protected BinaryReader m_br;
48 49
50 /// <summary>
51 /// Used to trim off null chars
52 /// </summary>
53 protected char[] m_nullCharArray = new char[] { '\0' };
54
49 public TarArchiveReader(string archivePath) 55 public TarArchiveReader(string archivePath)
50 { 56 {
51 m_br = new BinaryReader(new FileStream(archivePath, FileMode.Open)); 57 m_br = new BinaryReader(new FileStream(archivePath, FileMode.Open));
@@ -109,6 +115,7 @@ namespace OpenSim.Region.Environment.Modules.World.Archiver
109 byte[] header = m_br.ReadBytes(512); 115 byte[] header = m_br.ReadBytes(512);
110 116
111 tarHeader.FilePath = m_asciiEncoding.GetString(header, 0, 100); 117 tarHeader.FilePath = m_asciiEncoding.GetString(header, 0, 100);
118 tarHeader.FilePath = tarHeader.FilePath.Trim(m_nullCharArray);
112 tarHeader.FileSize = ConvertOctalBytesToDecimal(header, 124, 11); 119 tarHeader.FileSize = ConvertOctalBytesToDecimal(header, 124, 11);
113 120
114 return tarHeader; 121 return tarHeader;