Mercurial > pidgin
view libpurple/protocols/zephyr/ZGetLocs.c @ 21172:33da7f2a30e4
Manually fflush() files written with purple_util_write_data_to_file,
because apparently some filesystems (XFS) can and will leave bogus
file contents if we don't. For systems which don't have fileno(),
this involves closing and reopening the file.
author | Ethan Blanton <elb@pidgin.im> |
---|---|
date | Thu, 08 Nov 2007 19:49:12 +0000 |
parents | 5fe8042783c1 |
children | a8cc50c2279f |
line wrap: on
line source
/* This file is part of the Project Athena Zephyr Notification System. * It contains source for the ZGetLocations 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 ZGetLocations(ZLocations_t *location, int *numlocs); Code_t ZGetLocations(ZLocations_t *location, int *numlocs) { int i; if (!__locate_list) return (ZERR_NOLOCATIONS); if (__locate_next == __locate_num) return (ZERR_NOMORELOCS); for (i=0;i<min(*numlocs, __locate_num-__locate_next);i++) location[i] = __locate_list[i+__locate_next]; if (__locate_num-__locate_next < *numlocs) *numlocs = __locate_num-__locate_next; __locate_next += *numlocs; return (ZERR_NONE); }