             @_value[@_offset] = b
             @_offset += @_increment
             break if @_offset is @_terminal
-            return @_bytesRead - start if offset is end
+            return true if offset is end
 
         # Otherwise we're packing bytes into an unsigned integer, the most
         # common case.

  # `this` object.
  skip: (length, @_callback) ->
    # Create a bogus pattern to enter the parse loop where the stream is fed in
    # the skipping branch. The length is passed to the callback simply because
    # the parse loop expects there to be a field.
    @_pattern      = [ {} ]
    @_terminated   = true
    @_index        = 0

      # hit the terminator, and we do not have a maximum size to fill, then
      # terminate by setting up the array to terminate.
      #
      # A length value of the maximum number value means to repeat until the
      # terminator, but a specific length value means that the zero terminated
      # string occupies a field that has a fixed length, so we need to skip the
      # unused bytes.
      if not @_terminated
        if @_terminator is value
          @_terminated = true
