title: Same file, same filesize but the memory comparision returns non zero
body: <pre><code>#define "/local/home/..."
  
  FILE *fp;
  
  short *originalUnPacked;
  short *unPacked;
  
  int fileSize;
  
  fp = fopen(FILENAME, "r");
  fseek (fp , 0 , SEEK_END);
  fileSize = ftell (fp);
  rewind (fp);
  
  originalUnPacked = (short*) malloc (sizeof(char)*fileSize);
  unPacked = (short*) malloc (sizeof(char)*fileSize);
  
  fread(unPacked, 1, fileSize, fp);
  fread(originalUnPacked, 1, fileSize, fp);    
  
  if( memcmp( unPacked, originalUnPacked, fileSize) == 0) 
  {
   print (" unpacked and original unpacked equal ") // Not happens
  }
  </code></pre>
  
  <p>My little knowldege of C says that the print statement in the last if block should be printed but it doesnt, any ideas Why ??</p>
  
  <p>Just to add more clarity and show you the complete code i have added a define statement and two fread statement before the if block.</p>