title: comma (,) in C Macro Definition
body: <p>I've never seen this syntax before.</p>
  
  <pre><code>#define SNS(s) (s),(sizeof(s)-1)
  </code></pre>
  
  <p>The way i'm reading this is that <code>SNS(s) = sizeof(s)-1</code>.  What is the comma doing?  Is it necessary?</p>
  
  <pre><code>int     ft_display_fatal(const char *err, unsigned len, int fd, int rcode)
  { 
      UNUSED(write(fd, err, len));
      return (rcode);
  }
  </code></pre>
  
  <p>Main</p>
  
  <pre><code>return (ft_display_fatal(SNS("File name missing.\n"), 2, 1));
  </code></pre>