Vous l'avez. À partir du suivi this check-in from the original author, j'ai découvert le code soudé dans le comportement de gestion par défaut de la prise en charge IMAP libetpan.
Eh bien, il se trouve l'auteur provides an example of how to set up an IMAP connection successfully. Au lieu de spoule sur tout le code, voici le bit, vous devriez être concerné par:
static char * get_msg_att_msg_content(struct mailimap_msg_att * msg_att,
size_t * p_msg_size)
{
clistiter * cur;
/* iterate on each result of one given message */
for(cur = clist_begin(msg_att->att_list) ; cur != NULL ;
cur = clist_next(cur)) {
struct mailimap_msg_att_item * item;
item = clist_content(cur);
if (item->att_type != MAILIMAP_MSG_ATT_ITEM_STATIC) {
continue;
}
...
Selon mon backtrace du code, votre billet est struct mailimap_msg_att_item
. Le att_type
que vous cherchez ici est MAILIMAP_MSG_ATT_ITEM_EXTENSION
, et à partir de là, vous devez parcourir les structures de données jusqu'à ce que vous trouviez MAILIMAP_EXTENSION_XGMLABELS
.
Quelque chose comme cela devrait les isoler:
if (item->att_type == MAILIMAP_MSG_ATT_ITEM_EXTENSION) {
if (item->att_data.att_extension_data->ext_type ==
MAILIMAP_EXTENSION_XGMLABELS) {
// ... do something ...
}
}
(Attention:. Code non testé)
A partir de là, vous pouvez effectuer plus en profondeur l'inspection interrogative des struct utilisé. Les fichiers saillants sont tous contenus dans src/low-level/imap
, à l'exception de the test file. Bonne chance!
Etes-vous sûr que les auteurs de la bibliothèque vérifient stackoverflow? Peut-être vaut-il mieux leur demander directement? https://github.com/dinhviethoa/libetpan/commit/01b2aedbd3ff8febe85beb7227f81895bb2eee3a ils l'ont commis il y a 3 mois. –
Je suis assez sûr que quelqu'un a essayé cela. Toutes les directions (comme les appels IMAP) seront aussi utiles –
La fonctionnalité que vous demandez existe dans ['src/low-level/imap/xgmlabels.c'] (https://github.com/dinhviethoa/libetpan/ blob/master/src/bas-niveau/imap/xgmlabels.c) et [son fichier d'en-tête] (https://github.com/dinhviethoa/libetpan/blob/master/src/low-level/imap/xgmlabels.h). Il n'est pas clair comment l'auteur analyse ceci, à court de [petit ensemble de fichiers de test inclus] (https://github.com/dinhviethoa/libetpan/tree/master/tests). Étant donné le manque de documentation d'utilisation et d'exemples robustes, il s'agit d'un bon scénario où vous devriez, en effet, demander à l'auteur. – MrGomez