--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libpurple/protocols/zephyr/ZGetSubs.c Sun Apr 15 03:56:08 2007 +0000 @@ -0,0 +1,37 @@ +/* This file is part of the Project Athena Zephyr Notification System. + * It contains source for the ZGetSubscriptions function. + * + * Created by: Robert French + * + * Copyright (c) 1987 by the Massachusetts Institute of Technology. + * For copying and distribution information, see the file + * "mit-copyright.h". + */ + +#include "internal.h" + +#define min(a,b) ((a)<(b)?(a):(b)) + +/* Prototype for -Wmissing-prototypes */ +Code_t ZGetSubscriptions(ZSubscription_t *subscription, int *numsubs); + +Code_t ZGetSubscriptions(ZSubscription_t *subscription, int *numsubs) +{ + int i; + + if (!__subscriptions_list) + return (ZERR_NOSUBSCRIPTIONS); + + if (__subscriptions_next == __subscriptions_num) + return (ZERR_NOMORESUBSCRIPTIONS); + + for (i=0;i<min(*numsubs, __subscriptions_num-__subscriptions_next);i++) + subscription[i] = __subscriptions_list[i+__subscriptions_next]; + + if (__subscriptions_num-__subscriptions_next < *numsubs) + *numsubs = __subscriptions_num-__subscriptions_next; + + __subscriptions_next += *numsubs; + + return (ZERR_NONE); +}