title: Warning: cast to pointer from integer of different size
body: <p>I wrote the following code: </p>
  
  <pre><code>struct DVDARRAY
  {
      int length;
      pDVD* dvds;
  };
  
  typedef struct DVDARRAY DVDARRAY_t;
  
  //...
  int main() 
  {
      int i;
      char c;
      DVDARRAY_t* dvds;
      poDAOproperties props;
      props = get_dao_properties();
      dvds = (DVDARRAY_t*) DVDDAO_read_raw_filter(props, "id = 1");
      printf("title-&gt;: %s", dvds-&gt;dvds[0]-&gt;title);
  }
  </code></pre>
  
  <p>and in another file the following is defined:</p>
  
  <pre><code>DVDARRAY_t* DVDDAO_read_raw_filter(poDAOproperties properties, char* filter)
  {
      DVDARRAY_t *dvds;
      // ...some code...
      dvds = malloc(sizeof(DVDARRAY_t));
      // ...some code...
      return dvds;
  }
  </code></pre>
  
  <p>Now my question: when I try to compile these files I get the following warning:</p>
  
  <pre><code>src/main.c: In Funktion »main«:
  src/main.c:80:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
  </code></pre>
  
  <p>Line 80 of main.c is exactly that line:</p>
  
  <pre><code>dvds = (DVDARRAY_t*) DVDDAO_read_raw_filter(props, "id = 1");
  </code></pre>
  
  <p>What can I do?</p>