}
- protected Package (FileAccess fileOpenAccess)
- : this (fileOpenAccess, false)
+ protected Package (FileAccess openFileAccess)
+ : this (openFileAccess, false)
{
}
- protected Package (FileAccess fileOpenAccess, bool streaming)
+ protected Package (FileAccess openFileAccess, bool streaming)
{
- FileOpenAccess = fileOpenAccess;
+ FileOpenAccess = openFileAccess;
Streaming = streaming;
}
return part;
}
- protected abstract PackagePart CreatePartCore (Uri parentUri, string contentType, CompressionOption compressionOption);
+ protected abstract PackagePart CreatePartCore (Uri partUri, string contentType, CompressionOption compressionOption);
public PackageRelationship CreateRelationship (Uri targetUri, TargetMode targetMode, string relationshipType)
{
throw new FileFormatException ("Stream length cannot be zero with FileMode.Open");
Stream s = File.Open (path, packageMode, packageAccess, packageShare);
- return Open (s, packageMode, packageAccess, true);
+ try {
+ return Open (s, packageMode, packageAccess, true);
+ } catch {
+ s.Close ();
+ throw;
+ }
}
static Package OpenCore (Stream stream, FileMode packageMode, FileAccess packageAccess, bool ownsStream)
internal static void WriteRelationships (Dictionary <string, PackageRelationship> relationships, Stream stream)
{
+ stream.SetLength(0);
+
XmlDocument doc = new XmlDocument ();
XmlNamespaceManager manager = new XmlNamespaceManager (doc.NameTable);
manager.AddNamespace ("rel", RelationshipNamespace);