1 /* This file is part of the Project Athena Zephyr Notification System.
2  * It contains source for the ZGetLocations function.
3  *
4  *	Created by:	Robert French
5  *
6  *	Copyright (c) 1987 by the Massachusetts Institute of Technology.
7  *	For copying and distribution information, see the file
8  *	"mit-copyright.h".
9  */
10 
11 #include "internal.h"
12 
13 #define min(a,b) ((a)<(b)?(a):(b))
14 
15 /* Prototype for -Wmissing-prototypes */
16 Code_t ZGetLocations(ZLocations_t *location, int *numlocs);
17 
ZGetLocations(ZLocations_t * location,int * numlocs)18 Code_t ZGetLocations(ZLocations_t *location, int *numlocs)
19 {
20     int i;
21 
22     if (!__locate_list)
23 	return (ZERR_NOLOCATIONS);
24 
25     if (__locate_next == __locate_num)
26 	return (ZERR_NOMORELOCS);
27 
28     for (i=0;i<min(*numlocs, __locate_num-__locate_next);i++)
29 	location[i] = __locate_list[i+__locate_next];
30 
31     if (__locate_num-__locate_next < *numlocs)
32 	*numlocs = __locate_num-__locate_next;
33 
34     __locate_next += *numlocs;
35 
36     return (ZERR_NONE);
37 }
38