title: fail to compile SHA1( ) function in gcc. c languge
body: <p>Here is my code:</p>
  
  <pre><code>#include "openssl/sha.h"
  #include "stdio.h"
  #include "string.h"
  
  unsigned char *SHA1(const unsigned char *d, unsigned long n, unsigned char *md);
  
  int main(void)
  {
    char data[] = "Hello, world!";
  
    size_t length = sizeof(data);
  
    unsigned char hash[SHA_DIGEST_LENGTH];
  
    SHA1(data, length, hash);
  
    return 0;
  }
  </code></pre>
  
  <p>When I compile it with gcc without the <code>-Wall</code> option, the program run well and print out some string. When I use <code>-Wall</code>, I get the following situation:</p>
  
  <pre><code>test.c: In function ‘main’:
  
  test.c:11:3: warning: pointer targets in passing argument 1 of ‘SHA1’ differ in signedness [-Wpointer-sign]
  
     SHA1(data, length, hash);
     ^
  In file included from test.c:1:0:
  
  /usr/include/openssl/sha.h:126:16: note: expected ‘const unsigned char *’ but argument is of type ‘char *’
  
   unsigned char *SHA1(const unsigned char *d, size_t n, unsigned char *md);
  
  Can anyone help me, Thanks in advance.
  </code></pre>