libpurple/protocols/zephyr/ZGetSubs.c

branch
cpw.khc.msnp14
changeset 20481
65485e2ed8a3
parent 20472
6a6d2ef151e6
parent 20478
46933dc62880
--- /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);
+}

mercurial