Skip to content

Commit

Permalink
[mms_codec] Added subject, cc and bcc to mms_send_req
Browse files Browse the repository at this point in the history
  • Loading branch information
monich committed Feb 25, 2014
1 parent 370362e commit c4e3725
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 1 deletion.
40 changes: 39 additions & 1 deletion mms-lib/src/mms_codec.c
Expand Up @@ -1455,6 +1455,9 @@ void mms_message_free(struct mms_message *msg)
switch (msg->type) {
case MMS_MESSAGE_TYPE_SEND_REQ:
g_free(msg->sr.to);
g_free(msg->sr.cc);
g_free(msg->sr.bcc);
g_free(msg->sr.subject);
g_free(msg->sr.content_type);
break;
case MMS_MESSAGE_TYPE_SEND_CONF:
Expand Down Expand Up @@ -1734,6 +1737,38 @@ static gboolean encode_text(struct file_buffer *fb,
return TRUE;
}

static gboolean encode_utf8_string(struct file_buffer *fb,
enum mms_header header, void *user)
{
char *ptr;
char **text = user;
unsigned int len;

if (!*text)
return TRUE;

/* Value-length Char-set Text-string */

len = 1 + strlen(*text) + 1;
if ((*text)[0] & 0x80) len++;

if (fb_request_field(fb, header, 0) == NULL)
return FALSE;

if (fb_put_value_length(fb, len) == FALSE)
return FALSE;

ptr = fb_request(fb, len);
if (ptr == NULL)
return FALSE;

*ptr++ = 106 /* UTF-8 */ | 0x80;
if ((*text)[0] & 0x80) *ptr++ = QUOTE;
strcpy(ptr, *text);

return TRUE;
}

static gboolean encode_quoted_string(struct file_buffer *fb,
enum mms_header header, void *user)
{
Expand Down Expand Up @@ -1918,7 +1953,7 @@ static header_encoder encoder_for_type(enum mms_header header)
case MMS_HEADER_STATUS:
return &encode_short;
case MMS_HEADER_SUBJECT:
return NULL;
return &encode_utf8_string;
case MMS_HEADER_TO:
return &encode_text_array_element;
case MMS_HEADER_TRANSACTION_ID:
Expand Down Expand Up @@ -2190,6 +2225,9 @@ static gboolean mms_encode_send_req(struct mms_message *msg,
MMS_HEADER_MMS_VERSION, &msg->version,
MMS_HEADER_FROM, &empty_from,
MMS_HEADER_TO, &msg->sr.to,
MMS_HEADER_CC, &msg->sr.cc,
MMS_HEADER_BCC, &msg->sr.bcc,
MMS_HEADER_SUBJECT, &msg->sr.subject,
MMS_HEADER_DELIVERY_REPORT, &msg->sr.dr,
MMS_HEADER_CONTENT_TYPE, &msg->sr.content_type,
MMS_HEADER_INVALID) == FALSE)
Expand Down
3 changes: 3 additions & 0 deletions mms-lib/src/mms_codec.h
Expand Up @@ -123,6 +123,9 @@ struct mms_retrieve_conf {

struct mms_send_req {
char *to;
char *cc;
char *bcc;
char *subject;
time_t date;
char *content_type;
gboolean dr;
Expand Down

0 comments on commit c4e3725

Please sign in to comment.