title: Issue passing argument in fprintf
body: <blockquote>
    <p>warning: passing argument 2 of ‘fprintf’ from incompatible pointer
       type </p>
    
    <p>warning: format not a string literal and no format arguments</p>
    
    <p>stdio.h:333: note: expected ‘const char * <strong>restrict</strong>’ but argument is of type ‘struct FILE *’</p>
  </blockquote>
  
  <pre><code>#include &lt;stdio.h&gt;
  
      int main (void){
      FILE *file;
      unsigned char *buffer;
      unsigned long fileLen;
  
      //Open file
      file = fopen("squirrel-gray.jpg", "rb");
      if (!file)
      {
              fprintf(stderr, "Unable to open file %s", "squirrel_gray.jpg");
              return;
      }
  
      //Get file length
      fseek(file, 0, SEEK_END);
      fileLen=ftell(file);
      fseek(file, 0, SEEK_SET);
  
      //Allocate memory
      buffer=(char *)(fileLen);
      if (!buffer)
      {
              fprintf(stderr, "Memory error!");
                              fclose(file);
         }
      fclose(file);
  
      FILE *image;
      image = fopen("img.jpg", "w");
      fprintf(image, file);
      fclose(image);
  
  }
  </code></pre>