title: int8_t and char: converts between pointers to integer types with different sign - but it doesn't
body: <p>I'm working with some embedded code and I am writing something new from scratch so I am preferring to stick with the uint8_t, int8_t and so on types. </p>
  
  <p>However, when porting a function:</p>
  
  <pre><code>void functionName(char *data)
  </code></pre>
  
  <p>to: </p>
  
  <pre><code>void functionName(int8_t *data)
  </code></pre>
  
  <p>I get the compiler warning "converts between pointers to integer types with different sign" when passing a literal string to the function. ( i.e. when calling <code>functionName("put this text in");</code> ). </p>
  
  <p>Now, I understand why this happens and these lines are only debug however I wonder what people feel is the most appropriate way of handling this, short of typecasting every literal string. I don't feel that blanket typecasting in any safer in practice than using potentially ambiguous types like "char".  </p>