| 13 /* Prototype for -Wmissing-prototypes */ |
13 /* Prototype for -Wmissing-prototypes */ |
| 14 Code_t ZGetSubscriptions(ZSubscription_t *subscription, int *numsubs); |
14 Code_t ZGetSubscriptions(ZSubscription_t *subscription, int *numsubs); |
| 15 |
15 |
| 16 Code_t ZGetSubscriptions(ZSubscription_t *subscription, int *numsubs) |
16 Code_t ZGetSubscriptions(ZSubscription_t *subscription, int *numsubs) |
| 17 { |
17 { |
| 18 int i; |
18 int i; |
| 19 |
19 |
| 20 if (!__subscriptions_list) |
20 if (!__subscriptions_list) { |
| 21 return (ZERR_NOSUBSCRIPTIONS); |
21 return (ZERR_NOSUBSCRIPTIONS); |
| |
22 } |
| 22 |
23 |
| 23 if (__subscriptions_next == __subscriptions_num) |
24 if (__subscriptions_next == __subscriptions_num) { |
| 24 return (ZERR_NOMORESUBSCRIPTIONS); |
25 return (ZERR_NOMORESUBSCRIPTIONS); |
| |
26 } |
| 25 |
27 |
| 26 for (i = 0; i < MIN(*numsubs, __subscriptions_num - __subscriptions_next); |
28 for (i = 0; i < MIN(*numsubs, __subscriptions_num - __subscriptions_next); |
| 27 i++) { |
29 i++) { |
| 28 subscription[i] = __subscriptions_list[i + __subscriptions_next]; |
30 subscription[i] = __subscriptions_list[i + __subscriptions_next]; |
| 29 } |
31 } |
| 30 |
32 |
| 31 if (__subscriptions_num-__subscriptions_next < *numsubs) |
33 if (__subscriptions_num - __subscriptions_next < *numsubs) { |
| 32 *numsubs = __subscriptions_num-__subscriptions_next; |
34 *numsubs = __subscriptions_num - __subscriptions_next; |
| |
35 } |
| 33 |
36 |
| 34 __subscriptions_next += *numsubs; |
37 __subscriptions_next += *numsubs; |
| 35 |
38 |
| 36 return (ZERR_NONE); |
39 return ZERR_NONE; |
| 37 } |
40 } |