mirror of https://github.com/Chizi123/dnscomp.git

Joel Grunbaum
2022-06-01 be527d670c50d6bbac90aec41cd87366e16515e4
slist.c
@@ -115,9 +115,9 @@
int comp_times(struct dns_list* a, struct dns_list* b)
{
    if (a->errors != b->errors) {
        return a->errors > b->errors;
    } else if (a->time.tv_sec == b->time.tv_sec) {
   if (a->errors != b->errors) {
      return a->errors > b->errors;
   } else if (a->time.tv_sec == b->time.tv_sec) {
      if (a->time.tv_nsec >= b->time.tv_nsec)
         return 1;
      else
@@ -130,11 +130,23 @@
int print_servers(struct dns_list* head)
{
    struct dns_list* curr = head;
   printf("%-16s | %-11s | %s\n", "Server", "Time", "Errors");
   while (head) {
      printf("%-16s | %ld.%09ld | %d\n", head->server, head->time.tv_sec,
             head->time.tv_nsec, head->errors);
      head = head->next;
   while (curr) {
        if (curr->errors >= 0) {
            printf("%-16s | %ld.%09ld | %d\n", curr->server, curr->time.tv_sec,
                   curr->time.tv_nsec, curr->errors);
        }
        curr = curr->next;
   }
    fflush(stdout);
    curr = head;
    if (head->errors < 0) {
        printf("The following servers were unreachable:\n");
        while (curr && curr->errors < 0) {
            printf("%s\n", curr->server);
            curr = curr->next;
        }
    }
   return 0;
}