Hi,
Ive created a unix domain socket and bind it to an address (of type sockaddr_un of course).
when im trying to get the socket name by doing getsockname( ) I get an empty string.

/
Code:
#define TERM_SERV "/home/elad/LteCli/server/term_serv_sock"
*setting a socket and binding it*/
unsigned int create_socket()
{
  unsigned int s; //socket
  struct sockaddr_un local;
  int len;
  
  s = socket(AF_UNIX, SOCK_STREAM, 0);
  if (-1 == s)
    {
      perror("socket");
      exit(1);
    }  

  local.sun_family = AF_UNIX;
  strcpy(local.sun_path, TERM_SERV);
  unlink(local.sun_path);
  len = sizeof(local.sun_family) + strlen(local.sun_path);
  
  if ((bind(s, (struct sockaddr_un *)&local, len)) == -1)
    {
      perror("bind");
      exit(1);
    }
  
  return s;
}

int main(){
  int len, nbytes;
  char *buffer = (char *)malloc(101);
  struct sockaddr_un remote, tester;
  FILE *fp;
  fd_set master; //master file descriptor
  fd_set read_fds; //temp file descriptor used in select()
  int fdmax; //max file descriptor
  int listener; //listening file descriptor
  int newfd; //newly accepted socket descriptor
  int i, n, temp;
  
  /*init*/
  memset(buffer, 0, sizeof(buffer));
  FD_ZERO(&master);
  FD_ZERO(&read_fds);

  listener = create_socket();
  if( (listen(listener, 10)) == -1)
    {
      perror("listen");
      exit(1);
    }
  temp = sizeof(tester.sun_family) + strlen(tester.sun_path);
  getsockname(listener, &tester,(socklen_t *) &temp);
this is the part of the code up to the point where i try to retrieve the socket path name.
can somepne help please?