title: implicit conversion of 'bool' (aka 'signed char') to 'nsdata *' is disallowed with arc
body: <p>When  perform a migration of my project to Obejctive-C ARC, i got one error: </p>
  
  <pre><code>implicit conversion of 'bool' (aka 'signed char') to 'nsdata *' is disallowed with arc
  </code></pre>
  
  <p>The function Xcode is referring to for this error is returning <code>NO</code> or <code>nil</code> although its returning type is of type <code>NSData</code>:</p>
  
  <pre><code> - (NSData *)compressBytes:(Bytef *)bytes length:(NSUInteger)length error:(NSError **)err shouldFinish:(BOOL)shouldFinish
      {
          if (length == 0) return nil;
          int status;
              if (status == myVariable) {
              break;
          } else if (status != y_OK) {
          if (err) {
              *err = [[self class] deflateErrorWithCode:status];
          }
          return NO;
      }
  </code></pre>
  
  <p>However, i am not quite sure i know how to fix that, any idea will be appreciated. </p>