title: Why cast an unused function parameter value to void?
body: <p>In some C project, I have seen this code:</p>
  
  <pre><code>static void *l_alloc (void *ud, void *ptr, size_t osize, size_t nsize) {
      (void)ud;
      (void)osize;
      /* some code not using `ud` or `osize` */
      return ptr;
  }
  </code></pre>
  
  <p>Do the two casts to void serve any purpose?</p>