Fix breakage of --local=/domain.name/1.2.3.4 in immediately previous commit.
authorSimon Kelley <simon@thekelleys.org.uk>
Sun, 6 Nov 2022 20:18:27 +0000 (20:18 +0000)
committerSimon Kelley <simon@thekelleys.org.uk>
Sun, 6 Nov 2022 20:18:27 +0000 (20:18 +0000)
src/option.c

index 163421a..53df70a 100644 (file)
@@ -2977,9 +2977,9 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma
        if (servers_only && option == 'S')
          flags |= SERV_FROM_FILE;
        
-       while (parse_server_next(&sdetails))
+       while ((flags & SERV_LITERAL_ADDRESS) || parse_server_next(&sdetails))
          {
-           if ((err = parse_server_addr(&sdetails)))
+           if (!(flags & SERV_LITERAL_ADDRESS) && (err = parse_server_addr(&sdetails)))
              ret_err(err);
 
            /* When source is set only use DNS records of the same type and skip all others */
@@ -3009,9 +3009,13 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma
 
                domain += strlen(domain) + 1;
              }
+
+           if (flags & SERV_LITERAL_ADDRESS)
+             break;
          }
-         if (sdetails.resolved)
-           freeaddrinfo(sdetails.hostinfo);
+
+       if (sdetails.resolved)
+         freeaddrinfo(sdetails.hostinfo);
        
        break;
       }