git-svn-id: https://profuse.googlecode.com/svn/branches/v2@317 aa027e90-d47c-11dd-86d7-074df07e0730

This commit is contained in:
ksherlock 2010-06-26 03:31:16 +00:00
parent 1894a178d1
commit cd1e227fc5
10 changed files with 498 additions and 1880 deletions

File diff suppressed because it is too large Load Diff

View File

@ -231,6 +231,8 @@
<key>Layout</key>
<array>
<dict>
<key>BecomeActive</key>
<true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@ -270,7 +272,9 @@
<string>B63EFBE711A244EE00C90DCE</string>
<string>B63EFACF11A09DB500C90DCE</string>
<string>B63EFAC811A09DAA00C90DCE</string>
<string>B63EFAB511A098C400C90DCE</string>
<string>B63EFA9411A094E000C90DCE</string>
<string>B63EFA7411A0948500C90DCE</string>
<string>1AB674ADFE9D54B511CA2CBB</string>
<string>B656ADED11A84D3200AB578A</string>
<string>1C37FBAC04509CD000000102</string>
@ -279,8 +283,8 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
<integer>42</integer>
<integer>29</integer>
<integer>14</integer>
<integer>8</integer>
<integer>0</integer>
</array>
</array>
@ -302,7 +306,7 @@
<real>318</real>
</array>
<key>RubberWindowFrame</key>
<string>547 105 1239 1000 0 0 1920 1178 </string>
<string>303 109 1239 1000 0 0 1920 1178 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@ -313,14 +317,12 @@
<key>Dock</key>
<array>
<dict>
<key>BecomeActive</key>
<true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>B63EFA6111A093C200C90DCE</string>
<key>PBXProjectModuleLabel</key>
<string>fuse_pascal.cpp</string>
<string>VolumeEntry.cpp</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@ -328,11 +330,11 @@
<key>PBXProjectModuleGUID</key>
<string>B63EFA6211A093C200C90DCE</string>
<key>PBXProjectModuleLabel</key>
<string>fuse_pascal.cpp</string>
<string>VolumeEntry.cpp</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
<string>B6F366CE11B1A28C0045E114</string>
<string>B65CFB8811B5C8310024A2D9</string>
<key>history</key>
<array>
<string>B63EFC2611A2D5A400C90DCE</string>
@ -347,12 +349,10 @@
<string>B63EFDB111A4488200C90DCE</string>
<string>B63EFDB311A4488200C90DCE</string>
<string>B63EFDB711A4488200C90DCE</string>
<string>B63EFDC711A4494C00C90DCE</string>
<string>B63EFDF211A4504200C90DCE</string>
<string>B63EFEA011A488C200C90DCE</string>
<string>B63EFEA111A488C200C90DCE</string>
<string>B63EFEA811A488C200C90DCE</string>
<string>B63EFEEC11A4A70400C90DCE</string>
<string>B6E5F0DD11A60726000AD141</string>
<string>B6E5F0F211A73144000AD141</string>
<string>B6E5F11211A73340000AD141</string>
@ -360,22 +360,15 @@
<string>B6E5F18211A76B74000AD141</string>
<string>B656AE2411A84FA400AB578A</string>
<string>B656AE2611A84FA400AB578A</string>
<string>B6F3642D11AA1E070045E114</string>
<string>B6F3647111AB35FE0045E114</string>
<string>B6F3649511AB58E80045E114</string>
<string>B6F3649E11AB59190045E114</string>
<string>B6F364B711AB84840045E114</string>
<string>B6F3652E11ADD5D20045E114</string>
<string>B6F3653011ADD5D20045E114</string>
<string>B6F3653111ADD5D20045E114</string>
<string>B6F3657E11AE255B0045E114</string>
<string>B6F365CB11B08AE30045E114</string>
<string>B6F365CD11B08AE30045E114</string>
<string>B6F3662D11B178720045E114</string>
<string>B6F3665411B190370045E114</string>
<string>B6F3665C11B194AC0045E114</string>
<string>B6F366C211B1A28C0045E114</string>
<string>B6F366C311B1A28C0045E114</string>
<string>B6F366C411B1A28C0045E114</string>
<string>B6F366C511B1A28C0045E114</string>
<string>B6F366C611B1A28C0045E114</string>
@ -385,7 +378,22 @@
<string>B6F366CA11B1A28C0045E114</string>
<string>B6F366CB11B1A28C0045E114</string>
<string>B6F366CC11B1A28C0045E114</string>
<string>B6F366CD11B1A28C0045E114</string>
<string>B6F366D911B1A7A70045E114</string>
<string>B6F3670611B2B47E0045E114</string>
<string>B6F3675411B316D10045E114</string>
<string>B6F3677C11B326580045E114</string>
<string>B6F3677D11B326580045E114</string>
<string>B6F3677E11B326580045E114</string>
<string>B6F3677F11B326580045E114</string>
<string>B6F367A011B330D10045E114</string>
<string>B6F367AE11B337A70045E114</string>
<string>B6F367E911B40F650045E114</string>
<string>B6F3684911B44D090045E114</string>
<string>B6F3684A11B44D090045E114</string>
<string>B6F3684B11B44D090045E114</string>
<string>B65CFB6911B495790024A2D9</string>
<string>B65CFB6A11B495790024A2D9</string>
<string>B65CFB6B11B495790024A2D9</string>
</array>
</dict>
<key>SplitCount</key>
@ -399,18 +407,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{0, 0}, {899, 562}}</string>
<string>{{0, 0}, {899, 544}}</string>
<key>RubberWindowFrame</key>
<string>547 105 1239 1000 0 0 1920 1178 </string>
<string>303 109 1239 1000 0 0 1920 1178 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
<string>562pt</string>
<string>544pt</string>
</dict>
<dict>
<key>Proportion</key>
<string>392pt</string>
<string>410pt</string>
<key>Tabs</key>
<array>
<dict>
@ -424,7 +432,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{10, 27}, {899, 365}}</string>
<string>{{10, 27}, {0, -27}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@ -440,7 +448,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{10, 27}, {899, 365}}</string>
<string>{{10, 27}, {899, 383}}</string>
<key>RubberWindowFrame</key>
<string>303 109 1239 1000 0 0 1920 1178 </string>
</dict>
<key>Module</key>
<string>PBXProjectFindModule</string>
@ -479,8 +489,6 @@
<dict>
<key>Frame</key>
<string>{{10, 27}, {899, 365}}</string>
<key>RubberWindowFrame</key>
<string>547 105 1239 1000 0 0 1920 1178 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@ -508,11 +516,11 @@
</array>
<key>TableOfContents</key>
<array>
<string>B6F3647311AB35FE0045E114</string>
<string>B65CFB8911B5C8310024A2D9</string>
<string>1CA23ED40692098700951B8B</string>
<string>B6F3647411AB35FE0045E114</string>
<string>B65CFB8A11B5C8310024A2D9</string>
<string>B63EFA6111A093C200C90DCE</string>
<string>B6F3647511AB35FE0045E114</string>
<string>B65CFB8B11B5C8310024A2D9</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@ -702,17 +710,11 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
<string>B6F3650F11ADC40E0045E114</string>
<string>B6F3651011ADC40E0045E114</string>
<string>B6F366CF11B1A28C0045E114</string>
<string>B6F3665F11B194AC0045E114</string>
<string>B6F366D011B1A28C0045E114</string>
<string>B6F366D111B1A28C0045E114</string>
<string>B6F366D211B1A28C0045E114</string>
<string>B65CFB8C11B5C8310024A2D9</string>
<string>/Users/kelvin/Projects/PROFuseX/PROFuseX.xcodeproj</string>
</array>
<key>WindowString</key>
<string>547 105 1239 1000 0 0 1920 1178 </string>
<string>303 109 1239 1000 0 0 1920 1178 </string>
<key>WindowToolsV3</key>
<array>
<dict>

View File

@ -90,6 +90,26 @@
B656AF1A11AA106C00AB578A /* FileEntry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B63EFBEC11A244EE00C90DCE /* FileEntry.cpp */; };
B656AF1B11AA106C00AB578A /* VolumeEntry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B63EFBF111A244EE00C90DCE /* VolumeEntry.cpp */; };
B6F3648511AB363B0045E114 /* xattr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B6F3647B11AB361D0045E114 /* xattr.cpp */; };
B6F3676511B323680045E114 /* TextWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B6F3676411B323680045E114 /* TextWriter.cpp */; };
B6F3676611B323680045E114 /* TextWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B6F3676411B323680045E114 /* TextWriter.cpp */; };
B6F3676711B323680045E114 /* TextWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B6F3676411B323680045E114 /* TextWriter.cpp */; };
B6F3676811B323680045E114 /* TextWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B6F3676411B323680045E114 /* TextWriter.cpp */; };
B6F3682A11B431CC0045E114 /* Endian.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B63EFA7511A0948500C90DCE /* Endian.cpp */; };
B6F3682B11B431CC0045E114 /* BlockDevice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B63EFA9511A094E000C90DCE /* BlockDevice.cpp */; };
B6F3682C11B431CC0045E114 /* DavexDiskImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B63EFA9711A094E000C90DCE /* DavexDiskImage.cpp */; };
B6F3682D11B431CC0045E114 /* DiskCopy42Image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B63EFA9B11A094E000C90DCE /* DiskCopy42Image.cpp */; };
B6F3682E11B431CC0045E114 /* DiskImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B63EFA9D11A094E000C90DCE /* DiskImage.cpp */; };
B6F3682F11B431CC0045E114 /* RawDevice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B63EFAA111A094E000C90DCE /* RawDevice.cpp */; };
B6F3683011B431CC0045E114 /* UniversalDiskImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B63EFAA411A094E000C90DCE /* UniversalDiskImage.cpp */; };
B6F3683111B431CC0045E114 /* BlockCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B63EFAB611A098C400C90DCE /* BlockCache.cpp */; };
B6F3683211B431CC0045E114 /* ConcreteBlockCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B63EFAB811A098C400C90DCE /* ConcreteBlockCache.cpp */; };
B6F3683311B431CC0045E114 /* MappedBlockCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B63EFABA11A098C400C90DCE /* MappedBlockCache.cpp */; };
B6F3683411B431CC0045E114 /* File.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B63EFAC911A09DAA00C90DCE /* File.cpp */; };
B6F3683511B431CC0045E114 /* MappedFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B63EFACB11A09DAA00C90DCE /* MappedFile.cpp */; };
B6F3683611B431CC0045E114 /* Exception.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B63EFAD111A09DB500C90DCE /* Exception.cpp */; };
B6F3683711B431CC0045E114 /* Lock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B63EFAD311A09DB500C90DCE /* Lock.cpp */; };
B6F3683811B431CC0045E114 /* Adaptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B63EFB0711A0AC4800C90DCE /* Adaptor.cpp */; };
B6F3683F11B431E20045E114 /* newfs_prodos.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B6F3682111B430870045E114 /* newfs_prodos.cpp */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
@ -148,6 +168,10 @@
B6F3651B11ADD0280045E114 /* FileEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FileEntry.h; sourceTree = "<group>"; };
B6F3651C11ADD0280045E114 /* Entry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Entry.h; sourceTree = "<group>"; };
B6F3652711ADD52B0045E114 /* Pascal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Pascal.h; sourceTree = "<group>"; };
B6F3676311B323680045E114 /* TextWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextWriter.h; sourceTree = "<group>"; };
B6F3676411B323680045E114 /* TextWriter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextWriter.cpp; sourceTree = "<group>"; };
B6F3682111B430870045E114 /* newfs_prodos.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = newfs_prodos.cpp; sourceTree = "<group>"; };
B6F3682511B431AC0045E114 /* newfs_prodos */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = newfs_prodos; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@ -187,6 +211,13 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
B6F3682311B431AC0045E114 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
@ -199,6 +230,7 @@
B63EFC9B11A35F7B00C90DCE /* newfs_pascal.cpp */,
B63EFC9911A35F7200C90DCE /* fuse_pascal.cpp */,
B63EFC9D11A35F8200C90DCE /* fuse_pascal_ops.cpp */,
B6F3682111B430870045E114 /* newfs_prodos.cpp */,
B63EFBE711A244EE00C90DCE /* Pascal */,
B63EFACF11A09DB500C90DCE /* ProFUSE */,
B63EFAC811A09DAA00C90DCE /* File */,
@ -219,6 +251,7 @@
B656AE0311A84F5800AB578A /* fuse_pascal */,
B656AF0311AA105500AB578A /* NibbleTest */,
B6F3648011AB36260045E114 /* xattr */,
B6F3682511B431AC0045E114 /* newfs_prodos */,
);
name = Products;
sourceTree = "<group>";
@ -304,6 +337,8 @@
B6F3651A11ADD0280045E114 /* VolumeEntry.h */,
B6F3651B11ADD0280045E114 /* FileEntry.h */,
B6F3651C11ADD0280045E114 /* Entry.h */,
B6F3676311B323680045E114 /* TextWriter.h */,
B6F3676411B323680045E114 /* TextWriter.cpp */,
);
path = Pascal;
sourceTree = "<group>";
@ -399,6 +434,22 @@
productReference = B6F3648011AB36260045E114 /* xattr */;
productType = "com.apple.product-type.tool";
};
B6F3682411B431AC0045E114 /* newfs_prodos */ = {
isa = PBXNativeTarget;
buildConfigurationList = B6F3684111B432000045E114 /* Build configuration list for PBXNativeTarget "newfs_prodos" */;
buildPhases = (
B6F3682211B431AC0045E114 /* Sources */,
B6F3682311B431AC0045E114 /* Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = newfs_prodos;
productName = newfs_prodos;
productReference = B6F3682511B431AC0045E114 /* newfs_prodos */;
productType = "com.apple.product-type.tool";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
@ -416,6 +467,7 @@
B656AE0211A84F5800AB578A /* fuse_pascal */,
B656AF0211AA105500AB578A /* NibbleTest */,
B6F3647F11AB36260045E114 /* xattr */,
B6F3682411B431AC0045E114 /* newfs_prodos */,
);
};
/* End PBXProject section */
@ -445,6 +497,7 @@
B63EFCE311A36C8B00C90DCE /* FileEntry.cpp in Sources */,
B63EFCE511A36C8B00C90DCE /* VolumeEntry.cpp in Sources */,
B63EFCE911A36C8B00C90DCE /* apfm.cpp in Sources */,
B6F3676711B323680045E114 /* TextWriter.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -472,6 +525,7 @@
B63EFE9611A4888500C90DCE /* FileEntry.cpp in Sources */,
B63EFE9711A4888500C90DCE /* VolumeEntry.cpp in Sources */,
B63EFE9911A4888500C90DCE /* newfs_pascal.cpp in Sources */,
B6F3676811B323680045E114 /* TextWriter.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -500,6 +554,7 @@
B656AE1911A84F7700AB578A /* Entry.cpp in Sources */,
B656AE1A11A84F7700AB578A /* FileEntry.cpp in Sources */,
B656AE1B11A84F7700AB578A /* VolumeEntry.cpp in Sources */,
B6F3676511B323680045E114 /* TextWriter.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -527,6 +582,7 @@
B656AF1A11AA106C00AB578A /* FileEntry.cpp in Sources */,
B656AF1B11AA106C00AB578A /* VolumeEntry.cpp in Sources */,
B656AF0811AA106400AB578A /* NibbleTest.cpp in Sources */,
B6F3676611B323680045E114 /* TextWriter.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -538,6 +594,29 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
B6F3682211B431AC0045E114 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
B6F3682A11B431CC0045E114 /* Endian.cpp in Sources */,
B6F3682B11B431CC0045E114 /* BlockDevice.cpp in Sources */,
B6F3682C11B431CC0045E114 /* DavexDiskImage.cpp in Sources */,
B6F3682D11B431CC0045E114 /* DiskCopy42Image.cpp in Sources */,
B6F3682E11B431CC0045E114 /* DiskImage.cpp in Sources */,
B6F3682F11B431CC0045E114 /* RawDevice.cpp in Sources */,
B6F3683011B431CC0045E114 /* UniversalDiskImage.cpp in Sources */,
B6F3683111B431CC0045E114 /* BlockCache.cpp in Sources */,
B6F3683211B431CC0045E114 /* ConcreteBlockCache.cpp in Sources */,
B6F3683311B431CC0045E114 /* MappedBlockCache.cpp in Sources */,
B6F3683411B431CC0045E114 /* File.cpp in Sources */,
B6F3683511B431CC0045E114 /* MappedFile.cpp in Sources */,
B6F3683611B431CC0045E114 /* Exception.cpp in Sources */,
B6F3683711B431CC0045E114 /* Lock.cpp in Sources */,
B6F3683811B431CC0045E114 /* Adaptor.cpp in Sources */,
B6F3683F11B431E20045E114 /* newfs_prodos.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
@ -805,6 +884,48 @@
};
name = Release;
};
B6F3682711B431AC0045E114 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
GCC_ENABLE_FIX_AND_CONTINUE = YES;
GCC_MODEL_TUNING = G5;
GCC_OPTIMIZATION_LEVEL = 0;
INSTALL_PATH = /usr/local/bin;
PREBINDING = NO;
PRODUCT_NAME = newfs_prodos;
};
name = Debug;
};
B6F3682811B431AC0045E114 /* Debug fuse */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
GCC_ENABLE_FIX_AND_CONTINUE = YES;
GCC_MODEL_TUNING = G5;
INSTALL_PATH = /usr/local/bin;
PREBINDING = NO;
PRODUCT_NAME = newfs_prodos;
};
name = "Debug fuse";
};
B6F3682911B431AC0045E114 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_ENABLE_FIX_AND_CONTINUE = NO;
GCC_MODEL_TUNING = G5;
INSTALL_PATH = /usr/local/bin;
PREBINDING = NO;
PRODUCT_NAME = newfs_prodos;
ZERO_LINK = NO;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@ -868,6 +989,16 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
B6F3684111B432000045E114 /* Build configuration list for PBXNativeTarget "newfs_prodos" */ = {
isa = XCConfigurationList;
buildConfigurations = (
B6F3682711B431AC0045E114 /* Debug */,
B6F3682811B431AC0045E114 /* Debug fuse */,
B6F3682911B431AC0045E114 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;

View File

@ -29,6 +29,29 @@ enum {
kMaxFiles = 77
};
// djb hash, case insensitive.
static unsigned NameHash(const char *cp)
{
unsigned hash = 5381;
unsigned c;
while ((c = *cp++))
{
c = std::toupper(c);
hash = ((hash << 5) + hash) + c;
}
return hash & 0x7FFFFFFF;
}
static bool NameEqual(const char *a, const char *b)
{
return ::strcasecmp(a, b) == 0;
}
unsigned VolumeEntry::ValidName(const char *cp)
{
// 7 chars max. Legal values: ascii, printable,
@ -585,14 +608,16 @@ FileEntry *VolumeEntry::create(const char *name, unsigned blocks)
prev->_maxFileSize = prev->blocks() * 512;
}
// insert() inserts an item *before* the current item.
// insert() inserts an item *before* the current item and returns an iterator to the
// element inserted.
// afterwards, iter will point to curr+1
// keep track of the index *before* the insert.
unsigned index = distance(_files.begin(), iter); // current index.
_files.insert(iter, entry.get());
_fileCount++;
iter = _files.insert(iter, entry.get());
++_fileCount;
curr = entry.release();
curr->_parent = this;

View File

@ -7,13 +7,8 @@
#include <unistd.h>
#include "BlockDevice.h"
#include "DavexDiskImage.h"
#include "DiskCopy42Image.h"
#include "Entry.h"
#include "Exception.h"
#include "RawDevice.h"
#include "UniversalDiskImage.h"
#include <Device/BlockDevice.h>
#include <ProFUSE/Exception.h>
#define NEWFS_VERSION "0.1"
@ -173,7 +168,7 @@ int main(int argc, char **argv)
case 'f':
{
format = DiskImage::ImageType(optarg);
format = BlockDevice::ImageType(optarg);
if (format == 0)
{
std::fprintf(stderr, "Error: `%s' is not a supported disk image format.\n", optarg);
@ -204,7 +199,7 @@ int main(int argc, char **argv)
volumeName = "Untitled";
}
if (format == 0) format = DiskImage::ImageType(fname, '2IMG');
if (format == 0) format = BlockDevice::ImageType(fname, '2IMG');
try