All pastes #833396 Raw Edit

Something

public text v1 · immutable
#833396 ·published 2007-12-27 05:02 UTC
rendered paste body
Index: macosx/IPCController.m
===================================================================
--- macosx/IPCController.m	(revision 4346)
+++ macosx/IPCController.m	(working copy)
@@ -807,16 +807,26 @@
     
     fDefaults = [NSUserDefaults standardUserDefaults];
     
+    int theValue;
+    
     switch( msgid )
     {
         case IPC_MSG_GETDOWNLIMIT:
-            [client sendrespInt:IPC_MSG_DOWNLIMIT tag:tag val:[fDefaults integerForKey:@"DownloadLimit"]];
+            if ( [fDefaults boolForKey:@"CheckDownload"] )
+                theValue = [fDefaults integerForKey:@"DownloadLimit"];
+            else
+                theValue = -1;
+            [client sendrespInt:IPC_MSG_DOWNLIMIT tag:tag val:theValue];
             break;
         case IPC_MSG_GETPORT:
             [client sendrespInt:IPC_MSG_PORT tag:tag val:[fDefaults integerForKey:@"BindPort"]];
             break;
         case IPC_MSG_GETUPLIMIT:
-            [client sendrespInt:IPC_MSG_UPLIMIT tag:tag val:[fDefaults integerForKey:@"UploadLimit"]];
+            if ( [fDefaults boolForKey:@"CheckUpload"] )
+                theValue = [fDefaults integerForKey:@"UploadLimit"];
+            else
+                theValue = -1;
+            [client sendrespInt:IPC_MSG_UPLIMIT tag:tag val:theValue];
             break;
         default:
             assert( 0 );
@@ -904,7 +914,13 @@
     switch( msgid )
     {
         case IPC_MSG_DOWNLIMIT:
-            [fDefaults setInteger:val->val.i forKey:@"DownloadLimit"];
+            if ( val->val.i < 0 )
+                [fDefaults setBool:FALSE forKey:@"CheckDownload"];
+            else
+            {
+                [fDefaults setBool:TRUE forKey:@"CheckDownload"];
+                [fDefaults setInteger:val->val.i forKey:@"DownloadLimit"];
+            }
             [fPrefsController updateLimitFields];
             [fPrefsController applySpeedSettings: nil];
             break;
@@ -913,7 +929,13 @@
             [fPrefsController updatePortField];
             break;
         case IPC_MSG_UPLIMIT:
-            [fDefaults setInteger:val->val.i forKey:@"UploadLimit"];
+            if ( val->val.i < 0 )
+                [fDefaults setBool:FALSE forKey:@"CheckUpload"];
+            else
+            {
+                [fDefaults setBool:TRUE forKey:@"CheckUpload"];
+                [fDefaults setInteger:val->val.i forKey:@"UploadLimit"];
+            }
             [fPrefsController updateLimitFields];
             [fPrefsController applySpeedSettings: nil];
             break;