<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Title" content="">
<meta name="Keywords" content="">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:"Helvetica Neue";
panose-1:2 0 5 3 0 0 0 2 0 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}
span.msoIns
{mso-style-type:export-only;
mso-style-name:"";
text-decoration:underline;
color:teal;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style>
</head>
<body bgcolor="white" lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Maybe I’m missing something but what exactly do you expect the Content-Description string to contain if not NULL?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Also I don’t see where your code prints the “content encoding” so I have no idea how you are getting that value, but will point out the following method signature:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">GMimeContentEncoding g_mime_part_get_content_encoding (GMimePart *mime_part);<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">GMimeContentENcoding is an enum, not a string, and the default value (i.e. when no encoding is specified) is `0`, so if you try to print `0` as a string, it’s NULL.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hope that helps,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Jeff<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:12.0pt;color:black">From: </span></b><span style="font-size:12.0pt;color:black">gmime-devel-list <gmime-devel-list-bounces@gnome.org> on behalf of Yuval Peduel via gmime-devel-list <gmime-devel-list@gnome.org><br>
<b>Reply-To: </b>Yuval Peduel <ypeduel@yahoo-inc.com><br>
<b>Date: </b>Monday, July 17, 2017 at 8:12 PM<br>
<b>To: </b>"gmime-devel-list@gnome.org" <gmime-devel-list@gnome.org><br>
<b>Subject: </b>[gmime-devel] part data is always NULL<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div id="yui_3_16_0_ym19_1_1500310585271_189730">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black">My apologies if this has been covered but I couldn't find a way of doing an effective search in the archives.<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_189730">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_189730">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black">I'm new to GMIME so I wrote a small test program to parse and print out the MIME structure of emails.<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_189730">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_189730">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black">When I get to a part, I try to get the content description and the content encoding. The char* returned by the corresponding functions
is always NULL.<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_189730">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_189730">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black">I'm running the code on Mac OSX Sierra<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_189730">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_189730">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black">The relevant portion of the raw message is:<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_189730">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_189958">
<p class="MsoNormal" style="background:white"><i><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black">Subject: test message</span></i><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_189959">
<p class="MsoNormal" style="background:white"><i><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black">To: yuval peduel <ypeduel@yahoo-inc.com></span></i><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_189960">
<p class="MsoNormal" style="background:white"><i><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black">Content-Type: multipart/alternative; boundary="94eb2c043cb48bca710554265079"</span></i><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_189961">
<p class="MsoNormal" style="background:white"><i><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black">Content-Length: 328</span></i><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_189962">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_189964">
<p class="MsoNormal" style="background:white"><i><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black">--94eb2c043cb48bca710554265079</span></i><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_189965">
<p class="MsoNormal" style="background:white"><i><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black">Content-Type: text/plain; charset="UTF-8"</span></i><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_189966">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_189968">
<p class="MsoNormal" style="background:white"><i><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black">I'm expecting this message to have two MIME sections</span></i><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_189969">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_189971">
<p class="MsoNormal" style="background:white"><i><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black">--94eb2c043cb48bca710554265079</span></i><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_189972">
<p class="MsoNormal" style="background:white"><i><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black">Content-Type: text/html; charset="UTF-8"</span></i><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_189973">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_189975">
<p class="MsoNormal" style="background:white"><i><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><div dir="ltr">I'm expecting this message to have two MIME sections<div><br></div></div></span></i><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_189976">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_189978">
<p class="MsoNormal" style="background:white"><i><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black">--94eb2c043cb48bca710554265079--</span></i><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_189978">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_189978">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black">The code fragments that I think are relevant are:<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_189978">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_191825">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> GMimeMessage* message = g_mime_parser_construct_message(parser, NULL);<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_191826">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> /* unref the parser since we no longer need it */<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_191827">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> g_object_unref (parser);<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_191828">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_191830">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> error = process_gmime_message(message, params);<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_191830">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_191830">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_191916">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black">int process_gmime_message(GMimeMessage* message,<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_191917">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> po::variables_map ¶ms) {<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_191918">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> int error = 0;<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_191919">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_191932">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> GMimeObject * mime_part = g_mime_message_get_mime_part(message);<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_191933">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_191935">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> cout << "In process_gmime_message, the top level part is ";<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_191936">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> if (GMIME_IS_MESSAGE_PART(mime_part)) {<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_191937">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> cout << " recognized as MESSAGE_PART\n";<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_191938">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> } else if (GMIME_IS_MULTIPART(mime_part)) {<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_191939">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> cout << " recognized as MULTI_PART ";<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_191940">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> GMimeMultipart* multipart = (GMimeMultipart *)mime_part;<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_191941">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> int part_count = g_mime_multipart_get_count(multipart);<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_191942">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> cout << "with " << part_count << " contained parts\n";<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_191943">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> process_mime_multipart(multipart, 0); <o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_191944">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> } else if (GMIME_IS_PART(mime_part)) {<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_191945">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> cout << " recognized as PART\n";<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_191946">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> process_mime_part((GMimePart *)mime_part, 0); <o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_191947">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> } else<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_191948">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> cout << " not recognized as part\n";<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_191949">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> <o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_191950">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> return error;<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_191951">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black">}<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_191951">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192059">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black">void process_mime_multipart(GMimeMultipart* multipart, int level) {<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192060">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192062">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> cout << "process_mime_multipart called" << endl;<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192063">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> if (multipart == NULL) {<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192064">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> cout << "ERROR: NULL part" << endl;<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192065">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> return;<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192066">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> }<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192067">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> <o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192068">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> string indent = " ";<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192069">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> for (int depth = 0; depth < level; ++depth)<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192070">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> indent += " ";<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192071">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192073">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> cout << indent << "mime multi-part:" << endl;<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192074">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> int count = g_mime_multipart_get_count(multipart);<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192075">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192077">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> for (int ndx = 0; ndx < count; ++ndx) { <o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192078">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> GMimeObject* mime_part = g_mime_multipart_get_part(multipart, ndx);<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192079">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192081">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> if (GMIME_IS_MESSAGE_PART(mime_part)) {<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192082">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> cout << " recognized as MESSAGE_PART\n";<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192083">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> } else if (GMIME_IS_MULTIPART(mime_part)) {<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192084">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> cout << " recognized as MULTI_PART ";<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192085">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> GMimeMultipart* multipart = (GMimeMultipart *)mime_part;<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192086">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> int part_count = g_mime_multipart_get_count(multipart);<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192087">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> cout << "with " << part_count << " contained parts\n";<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192088">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> process_mime_multipart(multipart, level+1); <o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192089">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> } else if (GMIME_IS_PART(mime_part)) {<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192090">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> cout << " recognized as PART\n";<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192091">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> process_mime_part((GMimePart *)mime_part, level+1); <o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192092">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> } else<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192093">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> cout << " not recognized as part\n";<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192094">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> }<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192095">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black">}<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192095">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193931">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black">void process_mime_part(GMimePart *part, int level) {<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193932">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193934">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> cout << "process_mime_part called" << endl;<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193935">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> if (part == NULL) {<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193936">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> cout << "ERROR: NULL part" << endl;<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193937">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> return;<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193938">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> }<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193939">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193941">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> string indent = " ";<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193942">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> for (int depth = 0; depth < level; ++depth)<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193943">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> indent += " ";<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193944">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> <o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193945">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> cout << indent << "mime part:" << endl;<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193946">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> <o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193947">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> const char* description =<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193948">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> g_mime_part_get_content_description(part);<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193949">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> cout << indent << "- content description: ";<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193950">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> if (description)<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193951">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> cout << description;<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193952">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> else<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193953">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> cout << "NULL";<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193954">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> cout << endl; <o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192096">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192096">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black">My output looks like:<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192096">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_192096">
<div id="yui_3_16_0_ym19_1_1500310585271_193851">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black">In process_gmime_message, the top level part is recognized as MULTI_PART with 2 contained parts<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193852">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black">process_mime_multipart called<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193853">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> mime multi-part:<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193854">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> recognized as PART<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193855">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black">process_mime_part called<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193856">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> mime part:<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193857">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> - content description: NULL<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193858">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> - content encoding: NULL<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193859">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> recognized as PART<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193860">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black">process_mime_part called<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193861">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> mime part:<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193862">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> - content description: NULL<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193863">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"> - content encoding: NULL<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193863">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193863">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black">which seems to be saying that I'm recognizing the two MIME parts, just not getting the relevant data.<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193863">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193863">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black">Suggestions? Questions whose answers will help you help me?<o:p></o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193863">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_193863">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black">TIA.<o:p></o:p></span></p>
</div>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_191952">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_189978">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div id="yui_3_16_0_ym19_1_1500310585271_189978">
<p class="MsoNormal" style="background:white"><span style="font-size:10.0pt;font-family:"Helvetica Neue",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
</div>
</div>
</body>
</html>