diff options
author | Robert S. French <rfrench@mit.edu> | 1988-05-17 17:21:01 +0000 |
---|---|---|
committer | Robert S. French <rfrench@mit.edu> | 1988-05-17 17:21:01 +0000 |
commit | 031ec0f258f152c1e20905b381aa7f5974db1f3d (patch) | |
tree | 1c15619ec8a5192e2d5095c6efde5e9a47ddc7ce /lib/ZSubs.c | |
parent | 4d21b4b5da809cdf4499190a1e27bff679a90422 (diff) |
All sorts of changes for ver 0.2
Diffstat (limited to 'lib/ZSubs.c')
-rw-r--r-- | lib/ZSubs.c | 121 |
1 files changed, 61 insertions, 60 deletions
diff --git a/lib/ZSubs.c b/lib/ZSubs.c index 83e7ff2..dba8cd1 100644 --- a/lib/ZSubs.c +++ b/lib/ZSubs.c @@ -21,85 +21,86 @@ static char rcsid_ZSubscriptions_c[] = "$Header$"; #include <zephyr/zephyr_internal.h> -Code_t ZSubscribeTo(sublist,nitems,port) - ZSubscription_t *sublist; - int nitems; - u_short port; +Code_t ZSubscribeTo(sublist, nitems, port) + ZSubscription_t *sublist; + int nitems; + u_short port; { - return (Z_Subscriptions(sublist,nitems,port,CLIENT_SUBSCRIBE,1)); + return (Z_Subscriptions(sublist, nitems, port, CLIENT_SUBSCRIBE, 1)); } -Code_t ZUnsubscribeTo(sublist,nitems,port) - ZSubscription_t *sublist; - int nitems; - u_short port; +Code_t ZUnsubscribeTo(sublist, nitems, port) + ZSubscription_t *sublist; + int nitems; + u_short port; { - return (Z_Subscriptions(sublist,nitems,port,CLIENT_UNSUBSCRIBE,1)); + return (Z_Subscriptions(sublist, nitems, port, CLIENT_UNSUBSCRIBE, 1)); } Code_t ZCancelSubscriptions(port) - u_short port; + u_short port; { - return (Z_Subscriptions((ZSubscription_t *)0,0,port, - CLIENT_CANCELSUB,0)); + return (Z_Subscriptions((ZSubscription_t *)0, 0, port, + CLIENT_CANCELSUB, 0)); } -Z_Subscriptions(sublist,nitems,port,opcode,authit) - ZSubscription_t *sublist; - int nitems; - u_short port; - char *opcode; - int authit; +Z_Subscriptions(sublist, nitems, port, opcode, authit) + ZSubscription_t *sublist; + int nitems; + u_short port; + char *opcode; + int authit; { - int i,retval; - ZNotice_t notice,retnotice; - ZPacket_t buffer; - char **list; + int i, retval; + ZNotice_t notice, retnotice; + char **list; - list = (char **)malloc((unsigned)nitems*3*sizeof(char *)); - if (!list) - return (ENOMEM); + list = (char **)malloc((unsigned)nitems*3*sizeof(char *)); + if (!list) + return (ENOMEM); - notice.z_kind = ACKED; - notice.z_port = port; - notice.z_class = ZEPHYR_CTL_CLASS; - notice.z_class_inst = ZEPHYR_CTL_CLIENT; - notice.z_opcode = opcode; - notice.z_sender = 0; - notice.z_recipient = ""; - notice.z_default_format = ""; - notice.z_message_len = 0; + notice.z_kind = ACKED; + notice.z_port = port; + notice.z_class = ZEPHYR_CTL_CLASS; + notice.z_class_inst = ZEPHYR_CTL_CLIENT; + notice.z_opcode = opcode; + notice.z_sender = 0; + notice.z_recipient = ""; + notice.z_num_other_fields = 0; + notice.z_default_format = ""; + notice.z_message_len = 0; - for (i=0;i<nitems;i++) { - list[i*3] = sublist[i].class; - list[i*3+1] = sublist[i].classinst; - if (sublist[i].recipient && *sublist[i].recipient && - *sublist[i].recipient != '*') - list[i*3+2] = ZGetSender(); - else - list[i*3+2] = ""; - } + for (i=0;i<nitems;i++) { + list[i*3] = sublist[i].class; + list[i*3+1] = sublist[i].classinst; + if (sublist[i].recipient && *sublist[i].recipient && + *sublist[i].recipient != '*') + list[i*3+2] = ZGetSender(); + else + list[i*3+2] = ""; + } - retval = ZSendList(¬ice,list,nitems*3,ZAUTH); - if (retval != ZERR_NONE && !authit) - retval = ZSendList(¬ice,list,nitems*3,ZNOAUTH); + retval = ZSendList(¬ice, list, nitems*3, ZAUTH); + if (retval != ZERR_NONE && !authit) + retval = ZSendList(¬ice, list, nitems*3, ZNOAUTH); - free((char *)list); + free((char *)list); - if (retval != ZERR_NONE) - return (retval); + if (retval != ZERR_NONE) + return (retval); - if ((retval = ZIfNotice(buffer,sizeof buffer,&retnotice, - (struct sockaddr_in *)0, - ZCompareUIDPred,(char *)¬ice.z_uid)) != - ZERR_NONE) - return (retval); + if ((retval = ZIfNotice(&retnotice, (struct sockaddr_in *)0, + ZCompareUIDPred, (char *)¬ice.z_uid)) != + ZERR_NONE) + return (retval); - if (retnotice.z_kind == SERVNAK) - return (ZERR_SERVNAK); + ZFreeNotice(&retnotice); + + if (retnotice.z_kind == SERVNAK) + return (ZERR_SERVNAK); - if (retnotice.z_kind != SERVACK) - return (ZERR_INTERNAL); + if (retnotice.z_kind != SERVACK) + return (ZERR_INTERNAL); - return (ZERR_NONE); + return (ZERR_NONE); } |