Verstanden. Von der Verfolgung this check-in from the original author entdeckte ich den Code, der in das Standardhandhabungsverhalten von libetpan IMAP-Unterstützung geschweißt wurde.
Nun stellt sich der Autor aus provides an example of how to set up an IMAP connection successfully. statt Spooling den gesamten Code aus, hier ist das Bit Sie sollten besorgt sein:
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;
}
...
Nach meiner Backtrace des Codes, Ihr Ticket ist struct mailimap_msg_att_item
. Die att_type
, die Sie hier suchen, ist MAILIMAP_MSG_ATT_ITEM_EXTENSION
, und von dort sollten Sie die Datenstrukturen gehen, bis Sie MAILIMAP_EXTENSION_XGMLABELS
finden.
So etwas sollte sie isolieren:
if (item->att_type == MAILIMAP_MSG_ATT_ITEM_EXTENSION) {
if (item->att_data.att_extension_data->ext_type ==
MAILIMAP_EXTENSION_XGMLABELS) {
// ... do something ...
}
}
(. Achtung: ungetesteten Code)
Von hier aus können Sie tiefer Fragewort Inspektion der structs ausführen verwendet wird. Die hervorstechenden Dateien sind alle in src/low-level/imap
enthalten, mit Ausnahme von the test file. Viel Glück!
Sind Sie sicher, dass die Autoren der lib check stackoverflow? Vielleicht ist es besser, sie direkt zu fragen? https://github.com/dinhviethoa/libetpan/commit/01b2aedbd3ff8febe85beb7227f81895bb2eee3a haben sie dies vor 3 Monaten begangen. –
Ich bin mir ziemlich sicher, dass jemand das versucht hat. Alle Richtungen (wie IMAP-Aufrufe selbst) werden ebenfalls nützlich sein. –
Die Funktionalität, nach der Sie fragen, existiert in ['src/low-level/imap/xgmlabels.c'] (https://github.com/dinhviethoa/libetpan/ blob/master/src/low-level/imap/xgmlabels.c) und [seine Header-Datei] (https://github.com/dinhviethoa/libetpan/blob/master/src/low-level/imap/xgmlabels.h). Es ist unklar, wie der Autor dies analysiert, kurz vor dem [kleinen Satz von eingeschlossenen Testdateien] (https://github.com/dinhviethoa/libetpan/tree/master/tests). Angesichts des Mangels an Nutzungsdokumentation und robusten Beispielen ist dies ein gutes Szenario, in dem Sie den Autor tatsächlich fragen sollten. – MrGomez