Ignore:
Timestamp:
Nov 15, 2008, 12:50:48 AM (12 years ago)
Author:
Pascal Terjan
Message:
  • Move attaching logic to a separate function
File:
1 edited

Legend:

Unmodified
Added
Removed
  • neercs/trunk/src/main.c

    r2995 r3324  
    110110    if(screen_list->attach)
    111111    {
    112         char **sockets;
    113112        if(screen_list->nb_to_grab || screen_list->to_start)
    114113        {
     
    117116        }
    118117
    119         sockets = list_sockets(screen_list->socket_dir, screen_list->session_name);
    120         if(sockets && sockets[0])
    121         {
    122             char *session;
    123             for(i=0; sockets[i]; i++);
    124             i--;
    125             screen_list->socket_path[SOCK_SERVER] = strdup(sockets[i]);
    126             session = connect_socket(screen_list, SOCK_SERVER);
    127             while(!session && i > 0)
    128             {
    129                 free(screen_list->socket_path[SOCK_SERVER]);
    130                 i--;
    131                 screen_list->socket_path[SOCK_SERVER] = strdup(sockets[i]);
    132                 session = connect_socket(screen_list, SOCK_SERVER);
    133             }
    134             debug("Connected to session %s", session);
    135             if(session)
    136             {
    137                 /* Create main canvas and associated caca window */
    138                 screen_list->cv = caca_create_canvas(0, 0);
    139                 screen_list->dp = caca_create_display(screen_list->cv);
    140                 if(!screen_list->dp)
    141                     goto end;
    142                 caca_set_cursor(screen_list->dp, 1);
    143 
    144                 screen_list->socket_path[SOCK_CLIENT] =
    145                     build_socket_path(screen_list->socket_dir, session, SOCK_CLIENT);
    146                 create_socket(screen_list, SOCK_CLIENT);
    147                 request_attach(screen_list);
    148                 if(screen_list->session_name)
    149                     free(screen_list->session_name);
    150                 screen_list->session_name = session;
    151             }
    152             else
    153             {
    154                 fprintf(stderr, "Failed to attach!\n");
    155                 free(screen_list->socket_path[SOCK_SERVER]);
    156                 screen_list->socket_path[SOCK_SERVER] = NULL;
    157                 screen_list->attach = 0;
    158             }
    159             for(i=0; sockets[i]; i++)
    160                 free(sockets[i]);
    161             free(sockets);
    162         }
    163         else
    164         {
    165             fprintf(stderr, "No socket found!\n");
    166             screen_list->attach = 0;
    167         }
     118        attach(screen_list);
     119
    168120        if(screen_list->forceattach && !screen_list->attach)
    169121            goto end;
Note: See TracChangeset for help on using the changeset viewer.