summaryrefslogtreecommitdiff
path: root/server/client.c
diff options
context:
space:
mode:
authorGravatar John Kohl <jtkohl@mit.edu>1989-05-04 13:36:06 +0000
committerGravatar John Kohl <jtkohl@mit.edu>1989-05-04 13:36:06 +0000
commita07a0e92d3401005ce925552cb7cee31accf804f (patch)
tree7e59b522074a82157f5c213d557895394b44fa92 /server/client.c
parente14e41e6e33a3c21382d79b572dd8ce985f8657a (diff)
add support for subscriptions without defaults
Diffstat (limited to 'server/client.c')
-rw-r--r--server/client.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/server/client.c b/server/client.c
index e98985c..3409f28 100644
--- a/server/client.c
+++ b/server/client.c
@@ -22,11 +22,12 @@ static char rcsid_client_c[] = "$Header$";
/*
* External functions:
*
- * Code_t client_register(notice, who, client, server)
+ * Code_t client_register(notice, who, client, server, wantdefaults)
* ZNotice_t *notice;
* struct sockaddr_in *who;
* ZClient_t **client; (RETURN)
* ZServerDesc_t *server;
+ * int wantdefaults;
*
* Code_t client_deregister(client, host, flush)
* ZClient_t *client;
@@ -57,11 +58,12 @@ static void clt_free();
*/
Code_t
-client_register(notice, who, client, server)
+client_register(notice, who, client, server, wantdefaults)
ZNotice_t *notice;
struct sockaddr_in *who;
register ZClient_t **client; /* RETURN */
ZServerDesc_t *server;
+int wantdefaults;
{
register ZHostList_t *hlp = server->zs_hosts;
register ZHostList_t *hlp2;
@@ -113,9 +115,10 @@ ZServerDesc_t *server;
xinsque(clist, hlp2->zh_clients);
(void) sigsetmask(omask);
- if (!server->zs_dumping)
+ if (!server->zs_dumping || wantdefaults)
/* add default subscriptions only if this is not
- resulting from a brain dump */
+ resulting from a brain dump, or this request
+ wants defaults */
return(subscr_def_subs(*client));
else
return(ZERR_NONE);