summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/ZLocations.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/ZLocations.c b/lib/ZLocations.c
index e721a9c..f0bf0a7 100644
--- a/lib/ZLocations.c
+++ b/lib/ZLocations.c
@@ -95,6 +95,13 @@ ZParseExposureLevel(char *text)
return(NULL);
}
+/* lifted from lib/ZSendPkt.c wait_for_hmack, but waits for SERVACK instead */
+static int
+wait_for_srvack(ZNotice_t *notice, ZUnique_Id_t *uid)
+{
+ return (notice->z_kind == SERVACK && ZCompareUID(&notice->z_uid, uid));
+}
+
Code_t
Z_SendLocation(char *class,
char *opcode,
@@ -130,7 +137,7 @@ Z_SendLocation(char *class,
if ((retval = ZSendList(&notice, bptr, 3, auth)) != ZERR_NONE)
return (retval);
- retval = Z_WaitForNotice (&retnotice, ZCompareUIDPred, &notice.z_uid,
+ retval = Z_WaitForNotice (&retnotice, wait_for_srvack, &notice.z_uid,
SRV_TIMEOUT);
if (retval != ZERR_NONE)
return retval;