Changeset 2732
- Timestamp:
- 6/29/2012 7:14:26 AM (11 months ago)
- Location:
- trunk/eraser
- Files:
-
- 6 edited
-
. (modified) (1 prop)
-
Eraser.DefaultPlugins/FileSystems/Fat.cs (modified) (3 diffs)
-
Eraser.Util.Native/Fat12Or16Api.cpp (modified) (2 diffs)
-
Eraser.Util.Native/Fat32Api.cpp (modified) (1 diff)
-
Eraser.Util.Native/FatApi.cpp (modified) (2 diffs)
-
Eraser.Util.Native/FatApi.h (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/eraser
- Property svn:mergeinfo changed
/branches/eraser6/6.0 merged: 2728,2731
- Property svn:mergeinfo changed
-
trunk/eraser/Eraser.DefaultPlugins/FileSystems/Fat.cs
r2516 r2732 75 75 { 76 76 using (FileStream stream = info.Open(FileAccess.ReadWrite, FileShare.ReadWrite)) 77 using (FatApi api = GetFatApi(info, stream)) 77 78 { 78 79 int directoriesCleaned = 0; 79 FatApi api = GetFatApi(info, stream);80 80 HashSet<uint> eraseQueueClusters = new HashSet<uint>(); 81 81 List<FatDirectoryEntry> eraseQueue = new List<FatDirectoryEntry>(); 82 {83 FatDirectoryEntry entry = api.LoadDirectory(string.Empty);84 eraseQueue.Add(entry);85 eraseQueueClusters.Add(entry.Cluster);86 }87 82 88 83 try 89 84 { 85 { 86 FatDirectoryEntry entry = api.LoadDirectory(string.Empty); 87 eraseQueue.Add(entry); 88 eraseQueueClusters.Add(entry.Cluster); 89 } 90 90 91 while (eraseQueue.Count != 0) 91 92 { … … 94 95 95 96 FatDirectoryBase currentDir = api.LoadDirectory(eraseQueue[0].FullName); 97 eraseQueue[0].Dispose(); 96 98 eraseQueue.RemoveAt(0); 97 99 … … 118 120 "the volume is currently in use.")); 119 121 } 122 finally 123 { 124 foreach (FatDirectoryEntry entry in eraseQueue) 125 entry.Dispose(); 126 } 120 127 } 121 128 } -
trunk/eraser/Eraser.Util.Native/Fat12Or16Api.cpp
r2516 r2732 40 40 if (info->VolumeFormat != L"FAT12" && info->VolumeFormat != "FAT16") 41 41 throw gcnew ArgumentException(S::_(L"The volume provided is not a FAT12 or FAT16 volume.")); 42 } 43 44 Fat12Or16Api::!Fat12Or16Api() 45 { 46 if (Fat != NULL) 47 { 48 delete[] Fat; 49 Fat = NULL; 50 } 42 51 } 43 52 … … 126 135 } 127 136 137 Fat12Or16Api::RootDirectory::!RootDirectory() 138 { 139 if (Directory != NULL) 140 { 141 delete[] Directory; 142 Directory = NULL; 143 DirectorySize = 0; 144 } 145 } 146 128 147 void Fat12Or16Api::RootDirectory::ReadDirectory() 129 148 { -
trunk/eraser/Eraser.Util.Native/Fat32Api.cpp
r2516 r2732 40 40 if (info->VolumeFormat != L"FAT32") 41 41 throw gcnew ArgumentException(S::_(L"The volume provided is not a FAT32 volume.")); 42 } 43 44 Fat32Api::!Fat32Api() 45 { 46 if (Fat != NULL) 47 { 48 delete[] Fat; 49 Fat = NULL; 50 } 42 51 } 43 52 -
trunk/eraser/Eraser.Util.Native/FatApi.cpp
r2516 r2732 70 70 } 71 71 72 FatApi::!FatApi() 73 { 74 if (BootSector != NULL) 75 { 76 delete BootSector; 77 BootSector = NULL; 78 } 79 } 80 72 81 FatDirectoryBase^ FatApi::LoadDirectory(String^ directory) 73 82 { … … 344 353 } 345 354 355 FatDirectory::!FatDirectory() 356 { 357 if (Directory != NULL) 358 { 359 delete[] Directory; 360 Directory = NULL; 361 DirectorySize = 0; 362 } 363 } 364 346 365 void FatDirectory::ReadDirectory() 347 366 { -
trunk/eraser/Eraser.Util.Native/FatApi.h
r2516 r2732 51 51 FatApi(IO::Stream^ stream); 52 52 53 /// Destructor. 54 virtual ~FatApi() { this->!FatApi(); } 55 56 /// Finalizer. 57 !FatApi(); 58 53 59 public: 54 60 /// <summary> … … 175 181 public ref class FatDirectoryEntry 176 182 { 183 public: 184 virtual ~FatDirectoryEntry() {} 185 177 186 public: 178 187 /// <summary> … … 257 266 FatDirectoryBase(String^ name, FatDirectoryBase^ parent, unsigned cluster); 258 267 268 virtual ~FatDirectoryBase() {} 269 259 270 public: 260 271 /// <summary> … … 345 356 FatDirectory(String^ name, FatDirectoryBase^ parent, unsigned cluster, FatApi^ api); 346 357 358 /// Destructor. 359 virtual ~FatDirectory() { this->!FatDirectory(); } 360 361 /// Finalizer. 362 !FatDirectory(); 363 347 364 virtual void ReadDirectory() override; 348 365 virtual void WriteDirectory() override; … … 357 374 Fat12Or16Api(VolumeInfo^ info); 358 375 Fat12Or16Api(VolumeInfo^ info, IO::Stream^ stream); 376 377 virtual ~Fat12Or16Api() { this->!Fat12Or16Api(); } 378 !Fat12Or16Api(); 359 379 360 380 public: … … 372 392 public: 373 393 RootDirectory(Fat12Or16Api^ api); 394 395 virtual ~RootDirectory() { this->!RootDirectory(); } 396 !RootDirectory(); 374 397 375 398 protected: … … 430 453 Fat32Api(VolumeInfo^ info); 431 454 Fat32Api(VolumeInfo^ info, IO::Stream^ stream); 455 456 virtual ~Fat32Api() { this->!Fat32Api(); } 457 !Fat32Api(); 432 458 433 459 public:
Note: See TracChangeset
for help on using the changeset viewer.
