Refactoring

This commit is contained in:
Marco d'Itri 2025-05-05 01:44:59 +02:00
parent 6ec5b9dd48
commit e19e5d9f4f
No known key found for this signature in database
GPG Key ID: CB3EC33AE1DED781
2 changed files with 7 additions and 5 deletions

10
whois.c
View File

@ -351,9 +351,9 @@ int handle_query(const char *hserver, const char *hport,
case 4: case 4:
if (verb) if (verb)
printf(_("Using server %s.\n"), server + 1); printf(_("Using server %s.\n"), server + 1);
sockfd = openconn(server + 1, NULL); old_server = server;
free(server); server = query_verisign(server + 1, NULL, query);
server = query_crsnic(sockfd, query); free(old_server);
if (no_recursion && server) if (no_recursion && server)
server[0] = '\0'; server[0] = '\0';
break; break;
@ -1012,11 +1012,12 @@ char *query_server(const char *server, const char *port, const char *query)
return referral_server; return referral_server;
} }
char *query_crsnic(const int sock, const char *query) char *query_verisign(const char *server, const char *port, const char *query)
{ {
char *temp, *p, buf[2000]; char *temp, *p, buf[2000];
FILE *fi; FILE *fi;
int hide = hide_discl; int hide = hide_discl;
int sock;
char *referral_server = NULL; char *referral_server = NULL;
int state = 0; int state = 0;
int dotscount = 0; int dotscount = 0;
@ -1034,6 +1035,7 @@ char *query_crsnic(const int sock, const char *query)
strcat(temp, query); strcat(temp, query);
strcat(temp, "\r\n"); strcat(temp, "\r\n");
sock = openconn(server, port);
fi = fdopen(sock, "r"); fi = fdopen(sock, "r");
if (!fi) if (!fi)
err_sys("fdopen"); err_sys("fdopen");

View File

@ -16,7 +16,7 @@ const char *whereas(const unsigned long);
char *queryformat(const char *, const char *, const char *); char *queryformat(const char *, const char *, const char *);
int hide_line(int *hiding, const char *const line); int hide_line(int *hiding, const char *const line);
char *query_server(const char *, const char *, const char *); char *query_server(const char *, const char *, const char *);
char *query_crsnic(const int, const char *); char *query_verisign(const char *, const char *, const char *);
int openconn(const char *, const char *); int openconn(const char *, const char *);
int connect_with_timeout(int, const struct sockaddr *, socklen_t, int); int connect_with_timeout(int, const struct sockaddr *, socklen_t, int);
void NORETURN usage(int error); void NORETURN usage(int error);