Index: zephyr.c
===================================================================
--- zephyr.c	(revision ecffae6c5b3fd57d8ca74cd2ba142098748bfe7c)
+++ zephyr.c	(revision d427f08508a96769e6a7fd429711b6349caf5b57)
@@ -524,5 +524,5 @@
  */
 #ifdef HAVE_LIBZEPHYR
-CALLER_OWN char *owl_zephyr_get_field(const ZNotice_t *n, int j)
+G_GNUC_WARN_UNUSED_RESULT char *owl_zephyr_get_field(const ZNotice_t *n, int j)
 {
   int i, count, save;
@@ -552,5 +552,5 @@
 }
 
-CALLER_OWN char *owl_zephyr_get_field_as_utf8(const ZNotice_t *n, int j)
+G_GNUC_WARN_UNUSED_RESULT char *owl_zephyr_get_field_as_utf8(const ZNotice_t *n, int j)
 {
   int i, count, save;
@@ -584,9 +584,9 @@
 }
 #else
-CALLER_OWN char *owl_zephyr_get_field(void *n, int j)
+G_GNUC_WARN_UNUSED_RESULT char *owl_zephyr_get_field(void *n, int j)
 {
   return(g_strdup(""));
 }
-CALLER_OWN char *owl_zephyr_get_field_as_utf8(void *n, int j)
+G_GNUC_WARN_UNUSED_RESULT char *owl_zephyr_get_field_as_utf8(void *n, int j)
 {
   return owl_zephyr_get_field(n, j);
@@ -621,5 +621,5 @@
  * caller must free the return
  */
-CALLER_OWN char *owl_zephyr_get_message(const ZNotice_t *n, const owl_message *m)
+G_GNUC_WARN_UNUSED_RESULT char *owl_zephyr_get_message(const ZNotice_t *n, const owl_message *m)
 {
 #define OWL_NFIELDS	5
@@ -838,6 +838,6 @@
       zw.opcode = g_strdup(retnotice->z_opcode);
       zw.zsig   = g_strdup("");
-      zw.recips = g_ptr_array_new();
-      g_ptr_array_add(zw.recips, g_strdup(retnotice->z_recipient));
+      owl_list_create(&(zw.recips));
+      owl_list_append_element(&(zw.recips), g_strdup(retnotice->z_recipient));
 
       owl_log_outgoing_zephyr_error(&zw, buff);
@@ -942,5 +942,5 @@
 #endif
 
-CALLER_OWN char *owl_zephyr_zlocate(const char *user, int auth)
+G_GNUC_WARN_UNUSED_RESULT char *owl_zephyr_zlocate(const char *user, int auth)
 {
 #ifdef HAVE_LIBZEPHYR
@@ -1042,5 +1042,5 @@
 
 /* caller must free the return */
-CALLER_OWN char *owl_zephyr_makesubline(const char *class, const char *inst, const char *recip)
+G_GNUC_WARN_UNUSED_RESULT char *owl_zephyr_makesubline(const char *class, const char *inst, const char *recip)
 {
   return g_strdup_printf("%s,%s,%s\n", class, inst, !strcmp(recip, "") ? "*" : recip);
@@ -1122,5 +1122,5 @@
  * free the return.
  */
-CALLER_OWN char *owl_zephyr_getsubs(void)
+G_GNUC_WARN_UNUSED_RESULT char *owl_zephyr_getsubs(void)
 {
 #ifdef HAVE_LIBZEPHYR
@@ -1242,5 +1242,5 @@
  * The caller must free the return
  */
-CALLER_OWN char *short_zuser(const char *in)
+G_GNUC_WARN_UNUSED_RESULT char *short_zuser(const char *in)
 {
   char *ptr = strrchr(in, '@');
@@ -1254,5 +1254,5 @@
  * The caller must free the return.
  */
-CALLER_OWN char *long_zuser(const char *in)
+G_GNUC_WARN_UNUSED_RESULT char *long_zuser(const char *in)
 {
   char *ptr = strrchr(in, '@');
@@ -1282,5 +1282,5 @@
  * caller must free the return.
  */
-CALLER_OWN char *owl_zephyr_smartstripped_user(const char *in)
+G_GNUC_WARN_UNUSED_RESULT char *owl_zephyr_smartstripped_user(const char *in)
 {
   char *slash, *dot, *realm, *out;
@@ -1324,14 +1324,14 @@
 }
 
-/* Read the list of users in 'filename' as a .anyone file, and return as a
- * GPtrArray of strings.  If 'filename' is NULL, use the default .anyone file
- * in the users home directory.  Returns NULL on failure.
+/* read the list of users in 'filename' as a .anyone file, and put the
+ * names of the zephyr users in the list 'in'.  If 'filename' is NULL,
+ * use the default .anyone file in the users home directory.  Returns
+ * -1 on failure, 0 on success.
  */
-GPtrArray *owl_zephyr_get_anyone_list(const char *filename)
+int owl_zephyr_get_anyone_list(owl_list *in, const char *filename)
 {
 #ifdef HAVE_LIBZEPHYR
   char *ourfile, *tmp, *s = NULL;
   FILE *f;
-  GPtrArray *list;
 
   ourfile = owl_zephyr_dotfile(".anyone", filename);
@@ -1341,9 +1341,8 @@
     owl_function_error("Error opening file %s: %s", ourfile, strerror(errno) ? strerror(errno) : "");
     g_free(ourfile);
-    return NULL;
+    return -1;
   }
   g_free(ourfile);
 
-  list = g_ptr_array_new();
   while (owl_getline_chomp(&s, f)) {
     /* ignore comments, blank lines etc. */
@@ -1361,11 +1360,11 @@
       tmp[0] = '\0';
 
-    g_ptr_array_add(list, long_zuser(s));
+    owl_list_append_element(in, long_zuser(s));
   }
   g_free(s);
   fclose(f);
-  return list;
-#else
-  return NULL;
+  return 0;
+#else
+  return -1;
 #endif
 }
