Exemplo n.º 1
0
static gchar*
get_refs_str (GMimeMessage *msg)
{
    const gchar *str;
    const GMimeReferences *cur;
    GMimeReferences *mime_refs;
    gchar *rv;

    str = g_mime_object_get_header (GMIME_OBJECT(msg), "References");
    if (!str)
        return NULL;

    mime_refs = g_mime_references_decode (str);
    for (rv = NULL, cur = mime_refs; cur;
            cur = g_mime_references_get_next(cur)) {

        const char* msgid;
        msgid = g_mime_references_get_message_id (cur);
        rv = g_strdup_printf ("%s%s%s",
                              rv ? rv : "",
                              rv ? "," : "",
                              msgid);
    }
    g_mime_references_free (mime_refs);

    return rv;
}
Exemplo n.º 2
0
static JSON_Value *references_to_json(GMimeReferences *references) {
  if (!references)
    return NULL;

  const char *msgid;
  const GMimeReferences *cur;
  JSON_Value *references_value = json_value_init_array();
  JSON_Array *references_array = json_value_get_array(references_value);

  for (cur = references; cur; cur = g_mime_references_get_next(cur)) {
    msgid = g_mime_references_get_message_id (cur);
    json_array_append_string(references_array, msgid);
  }

  return references_value;
}