1 /* This file is part of the Project Athena Zephyr Notification System.
2 * It contains source for the ZGetSubscriptions function.
4 * Created by: Robert French
6 * Copyright (c) 1987 by the Massachusetts Institute of Technology.
7 * For copying and distribution information, see the file
13 #define min(a,b) ((a)<(b)?(a):(b))
15 /* Prototype for -Wmissing-prototypes */
16 Code_t
ZGetSubscriptions(ZSubscription_t
*subscription
, int *numsubs
);
18 Code_t
ZGetSubscriptions(ZSubscription_t
*subscription
, int *numsubs
)
22 if (!__subscriptions_list
)
23 return (ZERR_NOSUBSCRIPTIONS
);
25 if (__subscriptions_next
== __subscriptions_num
)
26 return (ZERR_NOMORESUBSCRIPTIONS
);
28 for (i
=0;i
<min(*numsubs
, __subscriptions_num
-__subscriptions_next
);i
++)
29 subscription
[i
] = __subscriptions_list
[i
+__subscriptions_next
];
31 if (__subscriptions_num
-__subscriptions_next
< *numsubs
)
32 *numsubs
= __subscriptions_num
-__subscriptions_next
;
34 __subscriptions_next
+= *numsubs
;