title: Why am I having "Invalid argument" while trying to accept connections?
body: <p>In the next code, while I try to connect a client the server shows the following error:</p>
  
  <blockquote>
    <p>"invalid argument", I can't see the error.</p>
  </blockquote>
  
  <pre><code>if((l_sock=socket(AF_INET,SOCK_STREAM,0))!=-1)
  {
      struct sockaddr_in srv_dir;
  
      srv_dir.sin_family=AF_INET;
      srv_dir.sin_port=8500;
      srv_dir.sin_addr.s_addr=INADDR_ANY;
  
      if((bind(l_sock,(struct sockaddr *)&amp;srv_dir,sizeof(struct sockaddr_in)))!=-1)
      {
          if(!(listen(l_sock,5)))
          {
              signal(SIGINT,cerraje);
              int t_sock;
              struct sockaddr_in cli_dir;
              socklen_t tam;
              time_t tstmp;
              struct tm * res;
              res=(struct tm *)malloc(sizeof(struct tm));
  
              while(!key)
              {
                  if((t_sock=accept(l_sock,(struct sockaddr *)&amp;cli_dir,&amp;tam))!=-1)
                  {
                      tstmp=time(&amp;tstmp);
                      res=gmtime(&amp;tstmp);
                      send(t_sock,res,sizeof(struct tm),0);
                      wr_hora(*res,cli_dir.sin_addr);         
                  }
                  else
                      perror("Petición no atendida");//The error is printed here.
  </code></pre>