upstream: add upstream list parameter to upstream_add()
to abstract it from the concrete list in the config struct. Michael
This commit is contained in:
parent
fd987e97f0
commit
22fba83df2
@ -802,11 +802,11 @@ static HANDLE_FUNC (handle_upstream)
|
||||
if (match[9].rm_so != -1) {
|
||||
domain = get_string_arg (line, &match[9]);
|
||||
if (domain) {
|
||||
upstream_add (ip, port, domain);
|
||||
upstream_add (ip, port, domain, &conf->upstream_list);
|
||||
safefree (domain);
|
||||
}
|
||||
} else {
|
||||
upstream_add (ip, port, NULL);
|
||||
upstream_add (ip, port, NULL, &conf->upstream_list);
|
||||
}
|
||||
|
||||
safefree (ip);
|
||||
@ -822,7 +822,7 @@ static HANDLE_FUNC (handle_upstream_no)
|
||||
if (!domain)
|
||||
return -1;
|
||||
|
||||
upstream_add (NULL, 0, domain);
|
||||
upstream_add (NULL, 0, domain, &conf->upstream_list);
|
||||
safefree (domain);
|
||||
|
||||
return 0;
|
||||
|
@ -119,7 +119,8 @@ fail:
|
||||
/*
|
||||
* Add an entry to the upstream list
|
||||
*/
|
||||
void upstream_add (const char *host, int port, const char *domain)
|
||||
void upstream_add (const char *host, int port, const char *domain,
|
||||
struct upstream **upstream_list)
|
||||
{
|
||||
struct upstream *up;
|
||||
|
||||
@ -129,7 +130,7 @@ void upstream_add (const char *host, int port, const char *domain)
|
||||
}
|
||||
|
||||
if (!up->domain && !up->ip) { /* always add default to end */
|
||||
struct upstream *tmp = config.upstream_list;
|
||||
struct upstream *tmp = *upstream_list;
|
||||
|
||||
while (tmp) {
|
||||
if (!tmp->domain && !tmp->ip) {
|
||||
@ -148,8 +149,8 @@ void upstream_add (const char *host, int port, const char *domain)
|
||||
}
|
||||
}
|
||||
|
||||
up->next = config.upstream_list;
|
||||
config.upstream_list = up;
|
||||
up->next = *upstream_list;
|
||||
*upstream_list = up;
|
||||
|
||||
return;
|
||||
|
||||
|
@ -40,7 +40,8 @@ struct upstream {
|
||||
};
|
||||
|
||||
#ifdef UPSTREAM_SUPPORT
|
||||
extern void upstream_add (const char *host, int port, const char *domain);
|
||||
extern void upstream_add (const char *host, int port, const char *domain,
|
||||
struct upstream **upstream_list);
|
||||
struct upstream *upstream_get (char *host);
|
||||
#endif /* UPSTREAM_SUPPORT */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user