struct array { node first; int num_nodes; }; struct nodes { node next; client cli; }; list create_array() { list result = NULL; result = (list)calloc(1, sizeof(struct array)); if (result != NULL) { result->first = NULL; result->num_nodes = 0; } return result; } int add_node_client(client cli, list array_list) { node actual; node node_temp; if (array_list == NULL || cli == NULL) { return -1; } actual = array_list->first; if (actual == NULL) { actual = create_node(cli, actual); /*actual = node_temp;*/ array_list->num_nodes = array_list->num_nodes + 1; return 0; } while (actual != NULL) { printf("ENTRO AL WHILE\n"); if (get_socket(cli) < get_socket(actual->cli)) { actual = actual->next; } else { break; } } actual = create_node(cli, actual); array_list->num_nodes = array_list->num_nodes + 1; return 0; }