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)18Code_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