Copied the necessary Google Toolbox source files into the MYUtilities project, so people don't have to download a separate library.
1.1 --- a/MYNetwork.xcodeproj/project.pbxproj Fri May 30 13:54:38 2008 -0700
1.2 +++ b/MYNetwork.xcodeproj/project.pbxproj Sun Jun 01 14:04:22 2008 -0700
1.3 @@ -23,7 +23,6 @@
1.4 2704612D0DE49088003D9D3F /* Logging.m in Sources */ = {isa = PBXBuildFile; fileRef = 2704612A0DE49088003D9D3F /* Logging.m */; };
1.5 270461370DE4918D003D9D3F /* ExceptionUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461350DE4918D003D9D3F /* ExceptionUtils.m */; };
1.6 270461470DE491A6003D9D3F /* Target.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461460DE491A6003D9D3F /* Target.m */; };
1.7 - 270461700DE492F3003D9D3F /* GTMNSData+zlib.m in Sources */ = {isa = PBXBuildFile; fileRef = 2704616F0DE492F3003D9D3F /* GTMNSData+zlib.m */; };
1.8 270461890DE49634003D9D3F /* CollectionUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461870DE49634003D9D3F /* CollectionUtils.m */; };
1.9 2704618C0DE49652003D9D3F /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 2704618B0DE49652003D9D3F /* libz.dylib */; };
1.10 270461920DE4975D003D9D3F /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 270461910DE4975C003D9D3F /* CoreServices.framework */; };
1.11 @@ -63,7 +62,6 @@
1.12 2779051E0DE9E5BC00C6D295 /* Logging.m in Sources */ = {isa = PBXBuildFile; fileRef = 2704612A0DE49088003D9D3F /* Logging.m */; };
1.13 2779051F0DE9E5BC00C6D295 /* ExceptionUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461350DE4918D003D9D3F /* ExceptionUtils.m */; };
1.14 277905200DE9E5BC00C6D295 /* Target.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461460DE491A6003D9D3F /* Target.m */; };
1.15 - 277905210DE9E5BC00C6D295 /* GTMNSData+zlib.m in Sources */ = {isa = PBXBuildFile; fileRef = 2704616F0DE492F3003D9D3F /* GTMNSData+zlib.m */; };
1.16 277905220DE9E5BC00C6D295 /* CollectionUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461870DE49634003D9D3F /* CollectionUtils.m */; };
1.17 277905230DE9E5BC00C6D295 /* BLIPRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 27D5EC060DE5FEDE00CD84FA /* BLIPRequest.m */; };
1.18 277905240DE9E5BC00C6D295 /* BLIPEchoServer.m in Sources */ = {isa = PBXBuildFile; fileRef = 277903D60DE8EE4800C6D295 /* BLIPEchoServer.m */; };
1.19 @@ -73,6 +71,9 @@
1.20 277905300DE9ED9100C6D295 /* MYUtilitiesTest_main.m in Sources */ = {isa = PBXBuildFile; fileRef = 270462C10DE4A64B003D9D3F /* MYUtilitiesTest_main.m */; };
1.21 2779053B0DE9EDAA00C6D295 /* BLIPTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 270460FE0DE49030003D9D3F /* BLIPTest.m */; };
1.22 27D5EC070DE5FEDE00CD84FA /* BLIPRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 27D5EC060DE5FEDE00CD84FA /* BLIPRequest.m */; };
1.23 + 27E0DBF00DF3450F00E7F648 /* GTMNSData+zlib.m in Sources */ = {isa = PBXBuildFile; fileRef = 27E0DBEF0DF3450F00E7F648 /* GTMNSData+zlib.m */; };
1.24 + 27E0DBF10DF3450F00E7F648 /* GTMNSData+zlib.m in Sources */ = {isa = PBXBuildFile; fileRef = 27E0DBEF0DF3450F00E7F648 /* GTMNSData+zlib.m */; };
1.25 + 27E0DBF20DF3450F00E7F648 /* GTMNSData+zlib.m in Sources */ = {isa = PBXBuildFile; fileRef = 27E0DBEF0DF3450F00E7F648 /* GTMNSData+zlib.m */; };
1.26 8DD76F9C0486AA7600D96B5E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08FB779EFE84155DC02AAC07 /* Foundation.framework */; };
1.27 /* End PBXBuildFile section */
1.28
1.29 @@ -110,7 +111,7 @@
1.30 270460FB0DE49030003D9D3F /* BLIPProperties.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BLIPProperties.m; sourceTree = "<group>"; };
1.31 270460FC0DE49030003D9D3F /* BLIPReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BLIPReader.h; sourceTree = "<group>"; };
1.32 270460FD0DE49030003D9D3F /* BLIPReader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BLIPReader.m; sourceTree = "<group>"; };
1.33 - 270460FE0DE49030003D9D3F /* BLIPTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BLIPTest.m; sourceTree = "<group>"; };
1.34 + 270460FE0DE49030003D9D3F /* BLIPTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BLIPTest.m; path = BLIP/BLIPTest.m; sourceTree = "<group>"; };
1.35 270460FF0DE49030003D9D3F /* BLIPWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BLIPWriter.h; sourceTree = "<group>"; };
1.36 270461000DE49030003D9D3F /* BLIPWriter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BLIPWriter.m; sourceTree = "<group>"; };
1.37 270461010DE49030003D9D3F /* IPAddress.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IPAddress.h; sourceTree = "<group>"; };
1.38 @@ -134,14 +135,11 @@
1.39 270461360DE4918D003D9D3F /* ExceptionUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExceptionUtils.h; sourceTree = "<group>"; };
1.40 270461450DE491A6003D9D3F /* Target.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Target.h; sourceTree = "<group>"; };
1.41 270461460DE491A6003D9D3F /* Target.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Target.m; sourceTree = "<group>"; };
1.42 - 2704616E0DE492F3003D9D3F /* GTMNSData+zlib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "GTMNSData+zlib.h"; path = "Foundation/GTMNSData+zlib.h"; sourceTree = "<group>"; };
1.43 - 2704616F0DE492F3003D9D3F /* GTMNSData+zlib.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "GTMNSData+zlib.m"; path = "Foundation/GTMNSData+zlib.m"; sourceTree = "<group>"; };
1.44 270461720DE49340003D9D3F /* MYNetwork */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = MYNetwork; sourceTree = BUILT_PRODUCTS_DIR; };
1.45 270461870DE49634003D9D3F /* CollectionUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CollectionUtils.m; sourceTree = "<group>"; };
1.46 270461880DE49634003D9D3F /* CollectionUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CollectionUtils.h; sourceTree = "<group>"; };
1.47 2704618B0DE49652003D9D3F /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = /usr/lib/libz.dylib; sourceTree = "<absolute>"; };
1.48 270461910DE4975C003D9D3F /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = "<absolute>"; };
1.49 - 2704620E0DE4A221003D9D3F /* GTMDefines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GTMDefines.h; sourceTree = "<group>"; };
1.50 270462C00DE4A639003D9D3F /* MYUtilities_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MYUtilities_Prefix.pch; sourceTree = "<group>"; };
1.51 270462C10DE4A64B003D9D3F /* MYUtilitiesTest_main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MYUtilitiesTest_main.m; sourceTree = "<group>"; };
1.52 270462C30DE4A65B003D9D3F /* BLIP Overview.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "BLIP Overview.txt"; path = "BLIP/BLIP Overview.txt"; sourceTree = "<group>"; wrapsLines = 1; };
1.53 @@ -157,6 +155,9 @@
1.54 2779052D0DE9E5BC00C6D295 /* BLIPEchoServer */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = BLIPEchoServer; sourceTree = BUILT_PRODUCTS_DIR; };
1.55 27D5EC050DE5FEDE00CD84FA /* BLIPRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BLIPRequest.h; sourceTree = "<group>"; };
1.56 27D5EC060DE5FEDE00CD84FA /* BLIPRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BLIPRequest.m; sourceTree = "<group>"; };
1.57 + 27E0DBED0DF3450F00E7F648 /* GTMDefines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GTMDefines.h; sourceTree = "<group>"; };
1.58 + 27E0DBEE0DF3450F00E7F648 /* GTMNSData+zlib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "GTMNSData+zlib.h"; sourceTree = "<group>"; };
1.59 + 27E0DBEF0DF3450F00E7F648 /* GTMNSData+zlib.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "GTMNSData+zlib.m"; sourceTree = "<group>"; };
1.60 /* End PBXFileReference section */
1.61
1.62 /* Begin PBXFrameworksBuildPhase section */
1.63 @@ -197,7 +198,8 @@
1.64 277903830DE8C2DD00C6D295 /* maindocs.h */,
1.65 270460F00DE49030003D9D3F /* MYNetwork */,
1.66 270461220DE49055003D9D3F /* MYUtilities */,
1.67 - 2704616D0DE492C9003D9D3F /* google-toolbox */,
1.68 + 270460FE0DE49030003D9D3F /* BLIPTest.m */,
1.69 + 277903E70DE8F05F00C6D295 /* Demo */,
1.70 08FB779DFE84155DC02AAC07 /* External Frameworks and Libraries */,
1.71 1AB674ADFE9D54B511CA2CBB /* Products */,
1.72 );
1.73 @@ -253,9 +255,7 @@
1.74 270460FD0DE49030003D9D3F /* BLIPReader.m */,
1.75 270460FF0DE49030003D9D3F /* BLIPWriter.h */,
1.76 270461000DE49030003D9D3F /* BLIPWriter.m */,
1.77 - 270460FE0DE49030003D9D3F /* BLIPTest.m */,
1.78 270460F70DE49030003D9D3F /* BLIP_Internal.h */,
1.79 - 277903E70DE8F05F00C6D295 /* Demo */,
1.80 );
1.81 path = BLIP;
1.82 sourceTree = "<group>";
1.83 @@ -293,21 +293,12 @@
1.84 270461460DE491A6003D9D3F /* Target.m */,
1.85 270461290DE49088003D9D3F /* Test.h */,
1.86 270461280DE49088003D9D3F /* Test.m */,
1.87 + 27E0DBEC0DF3450F00E7F648 /* GoogleToolboxSubset */,
1.88 );
1.89 name = MYUtilities;
1.90 path = ../MYUtilities;
1.91 sourceTree = "<group>";
1.92 };
1.93 - 2704616D0DE492C9003D9D3F /* google-toolbox */ = {
1.94 - isa = PBXGroup;
1.95 - children = (
1.96 - 2704620E0DE4A221003D9D3F /* GTMDefines.h */,
1.97 - 2704616E0DE492F3003D9D3F /* GTMNSData+zlib.h */,
1.98 - 2704616F0DE492F3003D9D3F /* GTMNSData+zlib.m */,
1.99 - );
1.100 - name = "google-toolbox";
1.101 - sourceTree = "google-toolbox";
1.102 - };
1.103 277903E70DE8F05F00C6D295 /* Demo */ = {
1.104 isa = PBXGroup;
1.105 children = (
1.106 @@ -318,7 +309,18 @@
1.107 2779048A0DE9204300C6D295 /* BLIPEchoClient.xib */,
1.108 277904280DE91C7900C6D295 /* BLIP Echo Client-Info.plist */,
1.109 );
1.110 - path = Demo;
1.111 + name = Demo;
1.112 + path = BLIP/Demo;
1.113 + sourceTree = "<group>";
1.114 + };
1.115 + 27E0DBEC0DF3450F00E7F648 /* GoogleToolboxSubset */ = {
1.116 + isa = PBXGroup;
1.117 + children = (
1.118 + 27E0DBED0DF3450F00E7F648 /* GTMDefines.h */,
1.119 + 27E0DBEE0DF3450F00E7F648 /* GTMNSData+zlib.h */,
1.120 + 27E0DBEF0DF3450F00E7F648 /* GTMNSData+zlib.m */,
1.121 + );
1.122 + path = GoogleToolboxSubset;
1.123 sourceTree = "<group>";
1.124 };
1.125 /* End PBXGroup section */
1.126 @@ -431,6 +433,7 @@
1.127 277904460DE91E3700C6D295 /* Logging.m in Sources */,
1.128 277904480DE91E3900C6D295 /* Target.m in Sources */,
1.129 277904490DE91E3A00C6D295 /* Test.m in Sources */,
1.130 + 27E0DBF00DF3450F00E7F648 /* GTMNSData+zlib.m in Sources */,
1.131 );
1.132 runOnlyForDeploymentPostprocessing = 0;
1.133 };
1.134 @@ -454,10 +457,10 @@
1.135 2779051E0DE9E5BC00C6D295 /* Logging.m in Sources */,
1.136 2779051F0DE9E5BC00C6D295 /* ExceptionUtils.m in Sources */,
1.137 277905200DE9E5BC00C6D295 /* Target.m in Sources */,
1.138 - 277905210DE9E5BC00C6D295 /* GTMNSData+zlib.m in Sources */,
1.139 277905220DE9E5BC00C6D295 /* CollectionUtils.m in Sources */,
1.140 277905230DE9E5BC00C6D295 /* BLIPRequest.m in Sources */,
1.141 277905240DE9E5BC00C6D295 /* BLIPEchoServer.m in Sources */,
1.142 + 27E0DBF20DF3450F00E7F648 /* GTMNSData+zlib.m in Sources */,
1.143 );
1.144 runOnlyForDeploymentPostprocessing = 0;
1.145 };
1.146 @@ -481,11 +484,11 @@
1.147 2704612D0DE49088003D9D3F /* Logging.m in Sources */,
1.148 270461370DE4918D003D9D3F /* ExceptionUtils.m in Sources */,
1.149 270461470DE491A6003D9D3F /* Target.m in Sources */,
1.150 - 270461700DE492F3003D9D3F /* GTMNSData+zlib.m in Sources */,
1.151 270461890DE49634003D9D3F /* CollectionUtils.m in Sources */,
1.152 27D5EC070DE5FEDE00CD84FA /* BLIPRequest.m in Sources */,
1.153 277905300DE9ED9100C6D295 /* MYUtilitiesTest_main.m in Sources */,
1.154 2779053B0DE9EDAA00C6D295 /* BLIPTest.m in Sources */,
1.155 + 27E0DBF10DF3450F00E7F648 /* GTMNSData+zlib.m in Sources */,
1.156 );
1.157 runOnlyForDeploymentPostprocessing = 0;
1.158 };
1.159 @@ -497,7 +500,7 @@
1.160 buildSettings = {
1.161 ALWAYS_SEARCH_USER_PATHS = NO;
1.162 COPY_PHASE_STRIP = NO;
1.163 - GCC_C_LANGUAGE_STANDARD = gnu99;
1.164 + GCC_C_LANGUAGE_STANDARD = c99;
1.165 GCC_DYNAMIC_NO_PIC = NO;
1.166 GCC_ENABLE_FIX_AND_CONTINUE = YES;
1.167 GCC_MODEL_TUNING = G5;
1.168 @@ -515,7 +518,7 @@
1.169 buildSettings = {
1.170 ALWAYS_SEARCH_USER_PATHS = NO;
1.171 DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
1.172 - GCC_C_LANGUAGE_STANDARD = gnu99;
1.173 + GCC_C_LANGUAGE_STANDARD = c99;
1.174 GCC_MODEL_TUNING = G5;
1.175 GCC_PRECOMPILE_PREFIX_HEADER = YES;
1.176 GCC_PREFIX_HEADER = MYNetwork_Prefix.pch;
1.177 @@ -528,7 +531,7 @@
1.178 isa = XCBuildConfiguration;
1.179 buildSettings = {
1.180 ARCHS = "$(ARCHS_STANDARD_32_BIT)";
1.181 - GCC_C_LANGUAGE_STANDARD = gnu99;
1.182 + GCC_C_LANGUAGE_STANDARD = c99;
1.183 GCC_OPTIMIZATION_LEVEL = 0;
1.184 GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
1.185 GCC_TREAT_WARNINGS_AS_ERRORS = YES;
1.186 @@ -545,7 +548,7 @@
1.187 isa = XCBuildConfiguration;
1.188 buildSettings = {
1.189 ARCHS = "$(ARCHS_STANDARD_32_BIT)";
1.190 - GCC_C_LANGUAGE_STANDARD = gnu99;
1.191 + GCC_C_LANGUAGE_STANDARD = c99;
1.192 GCC_TREAT_WARNINGS_AS_ERRORS = YES;
1.193 GCC_WARN_ABOUT_RETURN_TYPE = YES;
1.194 GCC_WARN_UNUSED_VARIABLE = YES;
2.1 --- a/TCP/TCPWriter.m Fri May 30 13:54:38 2008 -0700
2.2 +++ b/TCP/TCPWriter.m Sun Jun 01 14:04:22 2008 -0700
2.3 @@ -55,6 +55,7 @@
2.4 }
2.5 _currentData = [[_queue objectAtIndex: 0] retain];
2.6 _currentDataPos = 0;
2.7 + LogTo(TCPVerbose,@"%@ using _currentData %p (%u bytes)", self,_currentData,_currentData.length);
2.8 [_queue removeObjectAtIndex: 0];
2.9 }
2.10
2.11 @@ -65,10 +66,10 @@
2.12 if( written < 0 )
2.13 [self _gotError];
2.14 else if( written < len ) {
2.15 - LogTo(TCPVerbose,@"%@ wrote %i bytes (of %u)", self,written,len);
2.16 + LogTo(TCPVerbose,@"%@ wrote %i bytes (of %u) from %p", self,written,len,_currentData);
2.17 _currentDataPos += written;
2.18 } else {
2.19 - LogTo(TCPVerbose,@"%@ wrote %i bytes", self,written);
2.20 + LogTo(TCPVerbose,@"%@ wrote %i bytes, released %p", self,written,_currentData);
2.21 setObj(&_currentData,nil);
2.22 }
2.23 }