parameters: (term, c, output=None)
docstring: XOR a byte string with a repeated sequence of characters.
  
      Args:
          term(bytes/bytearray/memoryview):
              The first term of the XOR operation.
          c (bytes):
              The byte that makes up the second term of the XOR operation.
          output (None or bytearray/memoryview):
              If not ``None``, the location where the result is stored into.
  
      Return:
          If ``output`` is ``None``, a new ``bytes`` string with the result.
          Otherwise ``None``.
docstring_summary: XOR a byte string with a repeated sequence of characters.
docstring_tokens: XOR a byte string with a repeated sequence of characters .
function: def strxor_c(term, c, output=None):
      """XOR a byte string with a repeated sequence of characters.
  
      Args:
          term(bytes/bytearray/memoryview):
              The first term of the XOR operation.
          c (bytes):
              The byte that makes up the second term of the XOR operation.
          output (None or bytearray/memoryview):
              If not ``None``, the location where the result is stored into.
  
      Return:
          If ``output`` is ``None``, a new ``bytes`` string with the result.
          Otherwise ``None``.
      """
  
      if not 0 <= c < 256:
          raise ValueError("c must be in range(256)")
      
      if output is None:
          result = create_string_buffer(len(term))
      else:
          # Note: output may overlap with either input
          result = output
         
          if not is_writeable_buffer(output):
              raise TypeError("output must be a bytearray or a writeable memoryview")
          
          if len(term) != len(output):
              raise ValueError("output must have the same length as the input"
                               "  (%d bytes)" % len(term))
  
      _raw_strxor.strxor_c(c_uint8_ptr(term),
                           c,
                           c_uint8_ptr(result),
                           c_size_t(len(term))
                           )
  
      if output is None:
          return get_raw_buffer(result)
      else:
          return None
function_tokens: def strxor_c ( term , c , output = None ) : if not 0 <= c < 256 : raise ValueError ( "c must be in range(256)" ) if output is None : result = create_string_buffer ( len ( term ) ) else : # Note: output may overlap with either input result = output if not is_writeable_buffer ( output ) : raise TypeError ( "output must be a bytearray or a writeable memoryview" ) if len ( term ) != len ( output ) : raise ValueError ( "output must have the same length as the input" "  (%d bytes)" % len ( term ) ) _raw_strxor . strxor_c ( c_uint8_ptr ( term ) , c , c_uint8_ptr ( result ) , c_size_t ( len ( term ) ) ) if output is None : return get_raw_buffer ( result ) else : return None