+ const char CMD[] = "ENT0 1|%s|%d|4|%s|%s||%s|%s|%s|%s";
+ const char *Recp = "";
+ const char *Cc = "";
+ const char *Bcc = "";
+ const char *Wikipage = "";
+ const char *my_email_addr = "";
+ char *CmdBuf = NULL;;
+ long len = 0;
+
+ if (GetHash(WCC->urlstrings, HKEY("subject"), &U)) {
+ u = (urlcontent*) U;
+ /**
+ * make enough room for the encoded string;
+ * plus the QP header
+ */
+ len = u->url_data_size * 3 + 32;
+ encoded_subject = malloc (len);
+ len = webcit_rfc2047encode(encoded_subject, len,
+ u->url_data, u->url_data_size);
+ if (len < 0) {
+ free (encoded_subject);
+ return;
+ }
+ }
+ len += sizeof (CMD) + dpLen;
+
+ if (GetHash(WCC->urlstrings, HKEY("recp"), &U)) {
+ u = (urlcontent*) U;
+ Recp = u->url_data;
+ len += u->url_data_size; }
+
+ if (GetHash(WCC->urlstrings, HKEY("cc"), &U)) {
+ u = (urlcontent*) U;
+ Cc = u->url_data;
+ len += u->url_data_size;
+ }
+
+ if (GetHash(WCC->urlstrings, HKEY("bcc"), &U)) {
+ u = (urlcontent*) U;
+ Bcc = u->url_data;
+ len += u->url_data_size;
+ }
+
+ if (GetHash(WCC->urlstrings, HKEY("wikipage"), &U)) {
+ u = (urlcontent*) U;
+ Wikipage = u->url_data;
+ len += u->url_data_size;
+ }
+
+ if (GetHash(WCC->urlstrings, HKEY("my_email_addr"), &U)) {
+ u = (urlcontent*) U;
+ my_email_addr = u->url_data;
+ len += u->url_data_size;
+ }
+
+ CmdBuf = (char*) malloc (len + 1);
+
+
+ snprintf(CmdBuf, len + 1, CMD,
+ Recp,
+ is_anonymous,
+ encoded_subject,
+ display_name,
+ Cc,
+ Bcc,
+ Wikipage,
+ my_email_addr);
+ serv_puts(CmdBuf);