diff --git a/Cache/ConcreteBlockCache.cpp b/Cache/ConcreteBlockCache.cpp index 6987ad4..ef8c6b1 100644 --- a/Cache/ConcreteBlockCache.cpp +++ b/Cache/ConcreteBlockCache.cpp @@ -61,6 +61,7 @@ using ProFUSE::POSIXException; BlockCachePointer ConcreteBlockCache::Create(BlockDevicePointer device, unsigned size) { //return BlockCachePointer(new ConcreteBlockCache(device, size)); + // constructor must be accessible to std::make_shared... return MAKE_SHARED(ConcreteBlockCache, device, size); } diff --git a/Makefile b/Makefile index 750cced..1d73693 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,17 @@ CC = g++ CPPFLAGS += -Wall -W -Wno-multichar -I. -O2 -g LDFLAGS += -lpthread -fuse_pascal_LDFLAGS += -lfuse +UNAME = $(shell uname) + +ifeq ($(UNAME),Darwin) + fuse_pascal_LDFLAGS += -lfuse_ino64 +else + fuse_pascal_LDFLAGS += -lfuse +endif + + + + OBJECTS += ${wildcard *.o} OBJECTS += ${wildcard bin/*.o} @@ -78,7 +88,7 @@ fuse_pascal: bin/fuse_pascal.o bin/fuse_pascal_ops.o \ ${FILE_OBJECTS} \ ${PROFUSE_OBJECTS} \ ${PASCAL_OBJECTS} - $(CC) -lfuse $(LDFLAGS) $^ -o $@ + $(CC) $(fuse_pascal_LDFLAGS) $(LDFLAGS) $^ -o $@ clean: diff --git a/PROFuseX.xcodeproj/kelvin.pbxuser b/PROFuseX.xcodeproj/kelvin.pbxuser index 0471ce8..f8b703a 100644 --- a/PROFuseX.xcodeproj/kelvin.pbxuser +++ b/PROFuseX.xcodeproj/kelvin.pbxuser @@ -2,10 +2,9 @@ { 08FB7793FE84155DC02AAC07 /* Project object */ = { activeBuildConfigurationName = Debug; - activeExecutable = B6F3682611B431AC0045E114 /* newfs_prodos */; - activeTarget = B6F3682411B431AC0045E114 /* newfs_prodos */; + activeExecutable = B656AE0411A84F5800AB578A /* fuse_pascal */; + activeTarget = B656AE0211A84F5800AB578A /* fuse_pascal */; addToTargets = ( - B6F3682411B431AC0045E114 /* newfs_prodos */, ); breakpoints = ( B6F3642F11AA1E150045E114 /* NibbleTest.cpp:76 */, @@ -104,71 +103,77 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 319589426; - PBXWorkspaceStateSaveDate = 319589426; + PBXPerProjectTemplateStateSaveDate = 320461343; + PBXWorkspaceStateSaveDate = 320461343; }; perUserProjectItems = { - B6272A9811D5AC5E0073C73A /* PBXTextBookmark */ = B6272A9811D5AC5E0073C73A /* PBXTextBookmark */; - B6272A9911D5AC5E0073C73A /* PBXTextBookmark */ = B6272A9911D5AC5E0073C73A /* PBXTextBookmark */; - B6272A9A11D5AC5E0073C73A /* PBXTextBookmark */ = B6272A9A11D5AC5E0073C73A /* PBXTextBookmark */; - B6272A9B11D5AC5E0073C73A /* PBXTextBookmark */ = B6272A9B11D5AC5E0073C73A /* PBXTextBookmark */; - B6272A9C11D5AC5E0073C73A /* PBXTextBookmark */ = B6272A9C11D5AC5E0073C73A /* PBXTextBookmark */; - B6272B0D11D691320073C73A /* PBXTextBookmark */ = B6272B0D11D691320073C73A /* PBXTextBookmark */; - B6272B0E11D691320073C73A /* PBXTextBookmark */ = B6272B0E11D691320073C73A /* PBXTextBookmark */; - B6272B0F11D691320073C73A /* PBXTextBookmark */ = B6272B0F11D691320073C73A /* PBXTextBookmark */; - B6272B1011D691320073C73A /* PBXTextBookmark */ = B6272B1011D691320073C73A /* PBXTextBookmark */; - B6272B1111D691320073C73A /* PBXTextBookmark */ = B6272B1111D691320073C73A /* PBXTextBookmark */; - B6272B1311D691320073C73A /* PBXTextBookmark */ = B6272B1311D691320073C73A /* PBXTextBookmark */; - B6272B1411D691320073C73A /* PBXTextBookmark */ = B6272B1411D691320073C73A /* PBXTextBookmark */; - B6272B1611D691320073C73A /* PBXTextBookmark */ = B6272B1611D691320073C73A /* PBXTextBookmark */; - B63EFC2611A2D5A400C90DCE /* PBXTextBookmark */ = B63EFC2611A2D5A400C90DCE /* PBXTextBookmark */; - B63EFC3211A2D5A400C90DCE /* PBXTextBookmark */ = B63EFC3211A2D5A400C90DCE /* PBXTextBookmark */; - B63EFDA011A4488200C90DCE /* PBXTextBookmark */ = B63EFDA011A4488200C90DCE /* PBXTextBookmark */; - B63EFDA511A4488200C90DCE /* PBXTextBookmark */ = B63EFDA511A4488200C90DCE /* PBXTextBookmark */; - B63EFDA711A4488200C90DCE /* PBXTextBookmark */ = B63EFDA711A4488200C90DCE /* PBXTextBookmark */; - B63EFDA911A4488200C90DCE /* PBXTextBookmark */ = B63EFDA911A4488200C90DCE /* PBXTextBookmark */; - B63EFDAB11A4488200C90DCE /* PBXTextBookmark */ = B63EFDAB11A4488200C90DCE /* PBXTextBookmark */; - B63EFDAD11A4488200C90DCE /* PBXTextBookmark */ = B63EFDAD11A4488200C90DCE /* PBXTextBookmark */; - B63EFDAF11A4488200C90DCE /* PBXTextBookmark */ = B63EFDAF11A4488200C90DCE /* PBXTextBookmark */; - B63EFDB111A4488200C90DCE /* PBXTextBookmark */ = B63EFDB111A4488200C90DCE /* PBXTextBookmark */; - B63EFDB311A4488200C90DCE /* PBXTextBookmark */ = B63EFDB311A4488200C90DCE /* PBXTextBookmark */; - B63EFDF211A4504200C90DCE /* PBXTextBookmark */ = B63EFDF211A4504200C90DCE /* PBXTextBookmark */; - B63EFEA011A488C200C90DCE /* PBXTextBookmark */ = B63EFEA011A488C200C90DCE /* PBXTextBookmark */; - B63EFEA111A488C200C90DCE /* PBXTextBookmark */ = B63EFEA111A488C200C90DCE /* PBXTextBookmark */; - B63EFEA811A488C200C90DCE /* PBXTextBookmark */ = B63EFEA811A488C200C90DCE /* PBXTextBookmark */; - B64E9723130C8C860072B07E /* PBXTextBookmark */ = B64E9723130C8C860072B07E /* PBXTextBookmark */; - B64E972813103CAF0072B07E /* PBXTextBookmark */ = B64E972813103CAF0072B07E /* PBXTextBookmark */; - B656AE2611A84FA400AB578A /* PBXTextBookmark */ = B656AE2611A84FA400AB578A /* PBXTextBookmark */; - B65CFB6911B495790024A2D9 /* PBXTextBookmark */ = B65CFB6911B495790024A2D9 /* PBXTextBookmark */; - B6E5F0DD11A60726000AD141 /* PBXTextBookmark */ = B6E5F0DD11A60726000AD141 /* PBXTextBookmark */; - B6E5F0F211A73144000AD141 /* PBXTextBookmark */ = B6E5F0F211A73144000AD141 /* PBXTextBookmark */; - B6E5F11211A73340000AD141 /* PBXTextBookmark */ = B6E5F11211A73340000AD141 /* PBXTextBookmark */; - B6E5F13A11A74F2B000AD141 /* PBXTextBookmark */ = B6E5F13A11A74F2B000AD141 /* PBXTextBookmark */; - B6E5F18211A76B74000AD141 /* PBXTextBookmark */ = B6E5F18211A76B74000AD141 /* PBXTextBookmark */; - B6F3647111AB35FE0045E114 /* PBXTextBookmark */ = B6F3647111AB35FE0045E114 /* PBXTextBookmark */; - B6F3649E11AB59190045E114 /* PBXTextBookmark */ = B6F3649E11AB59190045E114 /* PBXTextBookmark */; - B6F364B711AB84840045E114 /* PBXTextBookmark */ = B6F364B711AB84840045E114 /* PBXTextBookmark */; - B6F3652E11ADD5D20045E114 /* PBXTextBookmark */ = B6F3652E11ADD5D20045E114 /* PBXTextBookmark */; - B6F3653011ADD5D20045E114 /* PBXTextBookmark */ = B6F3653011ADD5D20045E114 /* PBXTextBookmark */; - B6F3657E11AE255B0045E114 /* PBXTextBookmark */ = B6F3657E11AE255B0045E114 /* PBXTextBookmark */; - B6F3665411B190370045E114 /* PBXTextBookmark */ = B6F3665411B190370045E114 /* PBXTextBookmark */; - B6F3665C11B194AC0045E114 /* PBXTextBookmark */ = B6F3665C11B194AC0045E114 /* PBXTextBookmark */; - B6F366C411B1A28C0045E114 /* PBXTextBookmark */ = B6F366C411B1A28C0045E114 /* PBXTextBookmark */; - B6F366C611B1A28C0045E114 /* PBXTextBookmark */ = B6F366C611B1A28C0045E114 /* PBXTextBookmark */; - B6F366C711B1A28C0045E114 /* PBXTextBookmark */ = B6F366C711B1A28C0045E114 /* PBXTextBookmark */; - B6F366C811B1A28C0045E114 /* PBXTextBookmark */ = B6F366C811B1A28C0045E114 /* PBXTextBookmark */; - B6F366C911B1A28C0045E114 /* PBXTextBookmark */ = B6F366C911B1A28C0045E114 /* PBXTextBookmark */; - B6F366CA11B1A28C0045E114 /* PBXTextBookmark */ = B6F366CA11B1A28C0045E114 /* PBXTextBookmark */; - B6F366CB11B1A28C0045E114 /* PBXTextBookmark */ = B6F366CB11B1A28C0045E114 /* PBXTextBookmark */; - B6F3675411B316D10045E114 /* PBXTextBookmark */ = B6F3675411B316D10045E114 /* PBXTextBookmark */; - B6F3677C11B326580045E114 /* PBXTextBookmark */ = B6F3677C11B326580045E114 /* PBXTextBookmark */; - B6F3677D11B326580045E114 /* PBXTextBookmark */ = B6F3677D11B326580045E114 /* PBXTextBookmark */; - B6F3677E11B326580045E114 /* PBXTextBookmark */ = B6F3677E11B326580045E114 /* PBXTextBookmark */; - B6F3677F11B326580045E114 /* PBXTextBookmark */ = B6F3677F11B326580045E114 /* PBXTextBookmark */; - B6F367A011B330D10045E114 /* PBXTextBookmark */ = B6F367A011B330D10045E114 /* PBXTextBookmark */; - B6F367AE11B337A70045E114 /* PBXTextBookmark */ = B6F367AE11B337A70045E114 /* PBXTextBookmark */; - B6F3684911B44D090045E114 /* PBXTextBookmark */ = B6F3684911B44D090045E114 /* PBXTextBookmark */; - B6F3684A11B44D090045E114 /* PBXTextBookmark */ = B6F3684A11B44D090045E114 /* PBXTextBookmark */; + B6272A9811D5AC5E0073C73A = B6272A9811D5AC5E0073C73A /* PBXTextBookmark */; + B6272A9911D5AC5E0073C73A = B6272A9911D5AC5E0073C73A /* PBXTextBookmark */; + B6272A9B11D5AC5E0073C73A = B6272A9B11D5AC5E0073C73A /* PBXTextBookmark */; + B6272A9C11D5AC5E0073C73A = B6272A9C11D5AC5E0073C73A /* PBXTextBookmark */; + B6272B0D11D691320073C73A = B6272B0D11D691320073C73A /* PBXTextBookmark */; + B6272B0E11D691320073C73A = B6272B0E11D691320073C73A /* PBXTextBookmark */; + B6272B0F11D691320073C73A = B6272B0F11D691320073C73A /* PBXTextBookmark */; + B6272B1011D691320073C73A = B6272B1011D691320073C73A /* PBXTextBookmark */; + B6272B1111D691320073C73A = B6272B1111D691320073C73A /* PBXTextBookmark */; + B6272B1311D691320073C73A = B6272B1311D691320073C73A /* PBXTextBookmark */; + B6272B1411D691320073C73A = B6272B1411D691320073C73A /* PBXTextBookmark */; + B6272B1611D691320073C73A = B6272B1611D691320073C73A /* PBXTextBookmark */; + B63EFC2611A2D5A400C90DCE = B63EFC2611A2D5A400C90DCE /* PBXTextBookmark */; + B63EFC3211A2D5A400C90DCE = B63EFC3211A2D5A400C90DCE /* PBXTextBookmark */; + B63EFDA011A4488200C90DCE = B63EFDA011A4488200C90DCE /* PBXTextBookmark */; + B63EFDA511A4488200C90DCE = B63EFDA511A4488200C90DCE /* PBXTextBookmark */; + B63EFDA711A4488200C90DCE = B63EFDA711A4488200C90DCE /* PBXTextBookmark */; + B63EFDA911A4488200C90DCE = B63EFDA911A4488200C90DCE /* PBXTextBookmark */; + B63EFDAB11A4488200C90DCE = B63EFDAB11A4488200C90DCE /* PBXTextBookmark */; + B63EFDAD11A4488200C90DCE = B63EFDAD11A4488200C90DCE /* PBXTextBookmark */; + B63EFDAF11A4488200C90DCE = B63EFDAF11A4488200C90DCE /* PBXTextBookmark */; + B63EFDB111A4488200C90DCE = B63EFDB111A4488200C90DCE /* PBXTextBookmark */; + B63EFDB311A4488200C90DCE = B63EFDB311A4488200C90DCE /* PBXTextBookmark */; + B63EFDF211A4504200C90DCE = B63EFDF211A4504200C90DCE /* PBXTextBookmark */; + B63EFEA011A488C200C90DCE = B63EFEA011A488C200C90DCE /* PBXTextBookmark */; + B63EFEA111A488C200C90DCE = B63EFEA111A488C200C90DCE /* PBXTextBookmark */; + B63EFEA811A488C200C90DCE = B63EFEA811A488C200C90DCE /* PBXTextBookmark */; + B656AE2611A84FA400AB578A = B656AE2611A84FA400AB578A /* PBXTextBookmark */; + B65CFB6911B495790024A2D9 = B65CFB6911B495790024A2D9 /* PBXTextBookmark */; + B6A53B811319DA2D00C9070F /* PBXTextBookmark */ = B6A53B811319DA2D00C9070F /* PBXTextBookmark */; + B6A53B881319DACB00C9070F /* PBXTextBookmark */ = B6A53B881319DACB00C9070F /* PBXTextBookmark */; + B6A53B891319DACB00C9070F /* PBXBookmark */ = B6A53B891319DACB00C9070F /* PBXBookmark */; + B6A53B8A1319DACB00C9070F /* PBXTextBookmark */ = B6A53B8A1319DACB00C9070F /* PBXTextBookmark */; + B6A53B8E1319DDFC00C9070F /* PBXTextBookmark */ = B6A53B8E1319DDFC00C9070F /* PBXTextBookmark */; + B6A53B8F1319DDFC00C9070F /* PBXTextBookmark */ = B6A53B8F1319DDFC00C9070F /* PBXTextBookmark */; + B6AA3AB21318D063007D4BA1 = B6AA3AB21318D063007D4BA1 /* PBXTextBookmark */; + B6AA3AB31318D063007D4BA1 = B6AA3AB31318D063007D4BA1 /* PBXTextBookmark */; + B6AA3AB41318D063007D4BA1 = B6AA3AB41318D063007D4BA1 /* PBXTextBookmark */; + B6AA3AB51318D063007D4BA1 = B6AA3AB51318D063007D4BA1 /* PBXTextBookmark */; + B6E5F0DD11A60726000AD141 = B6E5F0DD11A60726000AD141 /* PBXTextBookmark */; + B6E5F0F211A73144000AD141 = B6E5F0F211A73144000AD141 /* PBXTextBookmark */; + B6E5F11211A73340000AD141 = B6E5F11211A73340000AD141 /* PBXTextBookmark */; + B6E5F13A11A74F2B000AD141 = B6E5F13A11A74F2B000AD141 /* PBXTextBookmark */; + B6E5F18211A76B74000AD141 = B6E5F18211A76B74000AD141 /* PBXTextBookmark */; + B6F3647111AB35FE0045E114 = B6F3647111AB35FE0045E114 /* PBXTextBookmark */; + B6F3649E11AB59190045E114 = B6F3649E11AB59190045E114 /* PBXTextBookmark */; + B6F364B711AB84840045E114 = B6F364B711AB84840045E114 /* PBXTextBookmark */; + B6F3652E11ADD5D20045E114 = B6F3652E11ADD5D20045E114 /* PBXTextBookmark */; + B6F3653011ADD5D20045E114 = B6F3653011ADD5D20045E114 /* PBXTextBookmark */; + B6F3657E11AE255B0045E114 = B6F3657E11AE255B0045E114 /* PBXTextBookmark */; + B6F3665411B190370045E114 = B6F3665411B190370045E114 /* PBXTextBookmark */; + B6F3665C11B194AC0045E114 = B6F3665C11B194AC0045E114 /* PBXTextBookmark */; + B6F366C411B1A28C0045E114 = B6F366C411B1A28C0045E114 /* PBXTextBookmark */; + B6F366C611B1A28C0045E114 = B6F366C611B1A28C0045E114 /* PBXTextBookmark */; + B6F366C711B1A28C0045E114 = B6F366C711B1A28C0045E114 /* PBXTextBookmark */; + B6F366C811B1A28C0045E114 = B6F366C811B1A28C0045E114 /* PBXTextBookmark */; + B6F366C911B1A28C0045E114 = B6F366C911B1A28C0045E114 /* PBXTextBookmark */; + B6F366CA11B1A28C0045E114 = B6F366CA11B1A28C0045E114 /* PBXTextBookmark */; + B6F366CB11B1A28C0045E114 = B6F366CB11B1A28C0045E114 /* PBXTextBookmark */; + B6F3675411B316D10045E114 = B6F3675411B316D10045E114 /* PBXTextBookmark */; + B6F3677C11B326580045E114 = B6F3677C11B326580045E114 /* PBXTextBookmark */; + B6F3677D11B326580045E114 = B6F3677D11B326580045E114 /* PBXTextBookmark */; + B6F3677E11B326580045E114 = B6F3677E11B326580045E114 /* PBXTextBookmark */; + B6F3677F11B326580045E114 = B6F3677F11B326580045E114 /* PBXTextBookmark */; + B6F367A011B330D10045E114 = B6F367A011B330D10045E114 /* PBXTextBookmark */; + B6F367AE11B337A70045E114 = B6F367AE11B337A70045E114 /* PBXTextBookmark */; + B6F3684A11B44D090045E114 = B6F3684A11B44D090045E114 /* PBXTextBookmark */; }; sourceControlManager = B63EFA6711A093C200C90DCE /* Source Control */; userBuildSettings = { @@ -183,9 +188,9 @@ }; B6272A8F11D5AC3C0073C73A /* fuse_pascal.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {838, 4095}}"; + sepNavIntBoundsRect = "{{0, 0}, {838, 4069}}"; sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 724}"; + sepNavVisRange = "{0, 672}"; }; }; B6272A9011D5AC3C0073C73A /* fuse_pascal_ops.cpp */ = { @@ -214,7 +219,7 @@ fRef = B63EFBF111A244EE00C90DCE /* VolumeEntry.cpp */; name = "VolumeEntry.cpp: 618"; rLen = 6; - rLoc = 13761; + rLoc = 13762; rType = 0; vrLen = 1289; vrLoc = 13115; @@ -229,16 +234,6 @@ vrLen = 562; vrLoc = 0; }; - B6272A9A11D5AC5E0073C73A /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = B6272A8F11D5AC3C0073C73A /* fuse_pascal.cpp */; - name = "fuse_pascal.cpp: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 724; - vrLoc = 0; - }; B6272A9B11D5AC5E0073C73A /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = B6272A9011D5AC3C0073C73A /* fuse_pascal_ops.cpp */; @@ -390,7 +385,7 @@ uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {838, 1339}}"; sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 868}"; + sepNavVisRange = "{0, 819}"; }; }; B63EFA7611A0948500C90DCE /* Endian.h */ = { @@ -507,9 +502,9 @@ }; B63EFAB711A098C400C90DCE /* BlockCache.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {838, 741}}"; + sepNavIntBoundsRect = "{{0, 0}, {838, 767}}"; sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{129, 890}"; + sepNavVisRange = "{118, 910}"; }; }; B63EFAB811A098C400C90DCE /* ConcreteBlockCache.cpp */ = { @@ -640,16 +635,16 @@ }; B63EFBEC11A244EE00C90DCE /* FileEntry.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1009, 8775}}"; - sepNavSelRange = "{5793, 0}"; - sepNavVisRange = "{4945, 1395}"; + sepNavIntBoundsRect = "{{0, 0}, {838, 9555}}"; + sepNavSelRange = "{10781, 0}"; + sepNavVisRange = "{10345, 801}"; }; }; B63EFBF111A244EE00C90DCE /* VolumeEntry.cpp */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {838, 13208}}"; - sepNavSelRange = "{13761, 6}"; - sepNavVisRange = "{13115, 1289}"; + sepNavIntBoundsRect = "{{0, 0}, {838, 12961}}"; + sepNavSelRange = "{13762, 6}"; + sepNavVisRange = "{13219, 1185}"; }; }; B63EFC2611A2D5A400C90DCE /* PBXTextBookmark */ = { @@ -700,9 +695,9 @@ YES, ); argumentStrings = ( - /Users/kelvin/Projects/PROFuseX/pascaltest.DSK, - rm, - LINEFEED.CODE, + /Users/kelvin/Projects/PROFuseX/bleh.po, + cat, + XATTR.CPP, ); autoAttachOnCrash = 1; breakpointsEnabled = 1; @@ -958,26 +953,6 @@ vrLen = 834; vrLoc = 0; }; - B64E9723130C8C860072B07E /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = B63EFAB711A098C400C90DCE /* BlockCache.h */; - name = "BlockCache.h: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 890; - vrLoc = 129; - }; - B64E972813103CAF0072B07E /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = B63EFAB711A098C400C90DCE /* BlockCache.h */; - name = "BlockCache.h: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 890; - vrLoc = 129; - }; B656AE0211A84F5800AB578A /* fuse_pascal */ = { activeExec = 0; executables = ( @@ -1084,6 +1059,107 @@ vrLen = 800; vrLoc = 2262; }; + B6A53B811319DA2D00C9070F /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = B63EFBEC11A244EE00C90DCE /* FileEntry.cpp */; + name = "FileEntry.cpp: 544"; + rLen = 0; + rLoc = 10781; + rType = 0; + vrLen = 801; + vrLoc = 10345; + }; + B6A53B851319DA3D00C9070F /* smart_pointers.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {838, 475}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 903}"; + }; + }; + B6A53B881319DACB00C9070F /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = B63EFBEC11A244EE00C90DCE /* FileEntry.cpp */; + name = "FileEntry.cpp: 544"; + rLen = 0; + rLoc = 10781; + rType = 0; + vrLen = 801; + vrLoc = 10345; + }; + B6A53B891319DACB00C9070F /* PBXBookmark */ = { + isa = PBXBookmark; + fRef = B6A53B851319DA3D00C9070F /* smart_pointers.h */; + }; + B6A53B8A1319DACB00C9070F /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = B6A53B851319DA3D00C9070F /* smart_pointers.h */; + name = "smart_pointers.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 903; + vrLoc = 0; + }; + B6A53B8E1319DDFC00C9070F /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = B6A53B851319DA3D00C9070F /* smart_pointers.h */; + name = "smart_pointers.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 903; + vrLoc = 0; + }; + B6A53B8F1319DDFC00C9070F /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = B63EFBF111A244EE00C90DCE /* VolumeEntry.cpp */; + name = "VolumeEntry.cpp: 618"; + rLen = 6; + rLoc = 13762; + rType = 0; + vrLen = 1185; + vrLoc = 13219; + }; + B6AA3AB21318D063007D4BA1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = B63EFAB711A098C400C90DCE /* BlockCache.h */; + name = "BlockCache.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 910; + vrLoc = 118; + }; + B6AA3AB31318D063007D4BA1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = B63EFA7511A0948500C90DCE /* Endian.cpp */; + name = "Endian.cpp: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 819; + vrLoc = 0; + }; + B6AA3AB41318D063007D4BA1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = B6272A8F11D5AC3C0073C73A /* fuse_pascal.cpp */; + name = "fuse_pascal.cpp: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 672; + vrLoc = 0; + }; + B6AA3AB51318D063007D4BA1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = B63EFBEC11A244EE00C90DCE /* FileEntry.cpp */; + name = "FileEntry.cpp: 544"; + rLen = 0; + rLoc = 10781; + rType = 0; + vrLen = 822; + vrLoc = 10324; + }; B6E5F0DD11A60726000AD141 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = B63EFAB811A098C400C90DCE /* ConcreteBlockCache.cpp */; @@ -1520,16 +1596,6 @@ sourceDirectories = ( ); }; - B6F3684911B44D090045E114 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = B63EFA7511A0948500C90DCE /* Endian.cpp */; - name = "Endian.cpp: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 868; - vrLoc = 0; - }; B6F3684A11B44D090045E114 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = B6F3676411B323680045E114 /* TextWriter.cpp */; diff --git a/PROFuseX.xcodeproj/kelvin.perspectivev3 b/PROFuseX.xcodeproj/kelvin.perspectivev3 index c78c1ec..368f26e 100644 --- a/PROFuseX.xcodeproj/kelvin.perspectivev3 +++ b/PROFuseX.xcodeproj/kelvin.perspectivev3 @@ -231,6 +231,8 @@ Layout + BecomeActive + ContentConfiguration PBXBottomSmartGroupGIDs @@ -269,6 +271,8 @@ 08FB7794FE84155DC02AAC07 B6272A8D11D5AC3C0073C73A B6272AA411D5AE0C0073C73A + B63EFBE711A244EE00C90DCE + B63EFACF11A09DB500C90DCE B63EFAB511A098C400C90DCE B63EFA9411A094E000C90DCE B656ADED11A84D3200AB578A @@ -278,13 +282,13 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 39 - 24 + 61 + 60 0 PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 164}, {318, 941}} + {{0, 470}, {318, 941}} PBXTopSmartGroupGIDs @@ -317,7 +321,7 @@ PBXProjectModuleGUID B63EFA6111A093C200C90DCE PBXProjectModuleLabel - BlockCache.h + VolumeEntry.cpp PBXSplitModuleInNavigatorKey Split0 @@ -325,11 +329,11 @@ PBXProjectModuleGUID B63EFA6211A093C200C90DCE PBXProjectModuleLabel - BlockCache.h + VolumeEntry.cpp _historyCapacity 0 bookmark - B64E972813103CAF0072B07E + B6A53B8F1319DDFC00C9070F history B63EFC2611A2D5A400C90DCE @@ -368,19 +372,15 @@ B6F366C911B1A28C0045E114 B6F366CA11B1A28C0045E114 B6F366CB11B1A28C0045E114 - B6F3675411B316D10045E114 B6F3677C11B326580045E114 B6F3677D11B326580045E114 B6F3677E11B326580045E114 B6F3677F11B326580045E114 B6F367A011B330D10045E114 B6F367AE11B337A70045E114 - B6F3684911B44D090045E114 B6F3684A11B44D090045E114 B65CFB6911B495790024A2D9 - B6272A9811D5AC5E0073C73A B6272A9911D5AC5E0073C73A - B6272A9A11D5AC5E0073C73A B6272A9B11D5AC5E0073C73A B6272A9C11D5AC5E0073C73A B6272B0D11D691320073C73A @@ -391,7 +391,12 @@ B6272B1311D691320073C73A B6272B1411D691320073C73A B6272B1611D691320073C73A - B64E9723130C8C860072B07E + B6AA3AB21318D063007D4BA1 + B6AA3AB31318D063007D4BA1 + B6AA3AB41318D063007D4BA1 + B6A53B881319DACB00C9070F + B6A53B8E1319DDFC00C9070F + B6272A9811D5AC5E0073C73A SplitCount @@ -405,18 +410,18 @@ GeometryConfiguration Frame - {{0, 0}, {899, 526}} + {{0, 0}, {899, 507}} RubberWindowFrame 182 101 1239 1000 0 0 1920 1178 Module PBXNavigatorGroup Proportion - 526pt + 507pt Proportion - 428pt + 447pt Tabs @@ -430,7 +435,7 @@ GeometryConfiguration Frame - {{10, 27}, {899, 401}} + {{10, 27}, {899, 420}} RubberWindowFrame 182 101 1239 1000 0 0 1920 1178 @@ -486,7 +491,7 @@ GeometryConfiguration Frame - {{10, 27}, {899, 401}} + {{10, 27}, {899, 410}} Module PBXBuildResultsModule @@ -514,11 +519,11 @@ TableOfContents - B64E9725130C8C860072B07E + B6A53B821319DA2D00C9070F 1CA23ED40692098700951B8B - B64E9726130C8C860072B07E + B6A53B831319DA2D00C9070F B63EFA6111A093C200C90DCE - B64E9727130C8C860072B07E + B6A53B841319DA2D00C9070F 1CA23EDF0692099D00951B8B 1CA23EE00692099D00951B8B 1CA23EE10692099D00951B8B diff --git a/PROFuseX.xcodeproj/project.pbxproj b/PROFuseX.xcodeproj/project.pbxproj index 944545d..b1d7df5 100644 --- a/PROFuseX.xcodeproj/project.pbxproj +++ b/PROFuseX.xcodeproj/project.pbxproj @@ -170,6 +170,7 @@ B656AEFE11AA0F8C00AB578A /* NibbleTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NibbleTest.cpp; sourceTree = ""; }; B656AF0311AA105500AB578A /* NibbleTest */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = NibbleTest; sourceTree = BUILT_PRODUCTS_DIR; }; B659C142131368BA0058DC9C /* Device.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Device.h; sourceTree = ""; }; + B6A53B851319DA3D00C9070F /* smart_pointers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = smart_pointers.h; sourceTree = ""; }; B6F3648011AB36260045E114 /* xattr */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = xattr; sourceTree = BUILT_PRODUCTS_DIR; }; B6F3651A11ADD0280045E114 /* VolumeEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VolumeEntry.h; sourceTree = ""; }; B6F3651B11ADD0280045E114 /* FileEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FileEntry.h; sourceTree = ""; }; @@ -343,6 +344,7 @@ B63EFACF11A09DB500C90DCE /* ProFUSE */ = { isa = PBXGroup; children = ( + B6A53B851319DA3D00C9070F /* smart_pointers.h */, B63EFAD011A09DB500C90DCE /* auto.h */, B63EFAD111A09DB500C90DCE /* Exception.cpp */, B63EFAD211A09DB500C90DCE /* Exception.h */, diff --git a/Pascal/VolumeEntry.cpp b/Pascal/VolumeEntry.cpp index a209c22..60ee49e 100644 --- a/Pascal/VolumeEntry.cpp +++ b/Pascal/VolumeEntry.cpp @@ -68,6 +68,10 @@ VolumeEntryPointer VolumeEntry::Open(Device::BlockDevicePointer device) //ptr = new VolumeEntry(device)); ptr = MAKE_SHARED(VolumeEntry, device); + + // set up the weak references from the file entry to this. + if (ptr) ptr->setParents(); + return ptr; } @@ -78,9 +82,6 @@ VolumeEntryPointer VolumeEntry::Create(Device::BlockDevicePointer device, const //ptr = new VolumeEntry(device, name); ptr = MAKE_SHARED(VolumeEntry, device, name); - // set up the weak references from the file entry to this. - if (ptr) ptr->setParents(); - return ptr; }