Mercurial > pidgin.yaz
view src/protocols/zephyr/ZNewLocU.c @ 13200:33bef17125c2
[gaim-migrate @ 15563]
This is the soon-to-be-infamous nonblocking network activity patch that I've been working on. Feel free to yell at me if this makes you unhappy.
committer: Tailor Script <tailor@pidgin.im>
author | Daniel Atallah <daniel.atallah@gmail.com> |
---|---|
date | Thu, 09 Feb 2006 04:17:56 +0000 |
parents | 64895571248f |
children |
line wrap: on
line source
/* This file is part of the Project Athena Zephyr Notification System. * It contains source for the ZNewLocateUser function. * * Created by: Robert French * * Copyright (c) 1987,1988,1991 by the Massachusetts Institute of Technology. * For copying and distribution information, see the file * "mit-copyright.h". */ #include "internal.h" Code_t ZLocateUser(user, nlocs, auth) char *user; int *nlocs; Z_AuthProc auth; { Code_t retval; ZNotice_t notice; ZAsyncLocateData_t zald; (void) ZFlushLocations(); /* ZFlushLocations never fails (the library is allowed to know this). */ if ((retval = ZRequestLocations(user, &zald, UNACKED, auth)) != ZERR_NONE) return(retval); retval = Z_WaitForNotice (¬ice, ZCompareALDPred, &zald, SRV_TIMEOUT); if (retval == ZERR_NONOTICE) return ETIMEDOUT; if (retval != ZERR_NONE) return retval; if ((retval = ZParseLocations(¬ice, &zald, nlocs, NULL)) != ZERR_NONE) { ZFreeNotice(¬ice); return(retval); } ZFreeNotice(¬ice); ZFreeALD(&zald); return(ZERR_NONE); }