attached

On Fri, Nov 26, 2010 at 05:29:34PM +0300, Paul Bagyenda wrote:
> The log level patch has been applied. This one requires some thought. Ideally 
> we should decode to  RFC 2047 format, and encode to the MM1 format. And this 
> should apply to more than just the "subject" field. More work than this. I 
> need to do it, but first (and it's friday, which means lazy days) I need a 
> cleaned mapping from MIBEnum values to charset names (from 
> http://www.iana.org/assignments/character-sets ) in a format that libiconv 
> can understand. If you are feeling less lazy, you could put these into a text 
> file for me (col1 = mib enum, col2 = name) and I'll do the code changes.
> 
> :)
> 
> P.
> 
> On Nov 26, 2010, at 15:21, Piotr Isajew wrote:
> 
> > I tested this for MM1 outgoing messages and it works. I don't know if
> > it will perform ok (or does matter) for other protocols.
> > 
> > --- mbuni-cvs/mmlib/mms_msg.c       2010-10-26 12:18:13.000000000 +0200
> > +++ mbuni/mmlib/mms_msg.c   2010-11-26 13:05:18.950730650 +0100
> > @@ -53,6 +53,34 @@
> >      wsp_pack_short_integer(s, c);
> > }
> > 
> > +static void pack_utf8_encoded_text(Octstr *s, Octstr *value)
> > +{
> > +  const unsigned short short_len = 30;
> > +  const unsigned char length_quote = 31;
> > +  const unsigned char utf8_enc = 0x6a;
> > +  int need_space =  octstr_get_char(value, 0) > 0x7f; /* see below */
> > +  unsigned long len = octstr_len(value) + 2 + need_space;
> > +  /* Pack value length */
> > +  if(len <= short_len) {
> > +    octstr_append_char(s, len);
> > +  } else {
> > +    octstr_append_char(s, length_quote);
> > +    octstr_append_uintvar(s, len);
> > +  }
> > +  /* Pack encoding */
> > +  wsp_pack_short_integer(s, utf8_enc);
> > +
> > +  /* Pack the rest */
> > +  if(need_space) {
> > +    /* it looks like if UTF-8 character goes first, it's not properly
> > +       decoded on handsets, so we insert a space before it. Ugly, but
> > +       appears to work. */
> > +    octstr_append_char(s, 0x20);
> > +  }
> > +  octstr_append(s, value);
> > +  octstr_append_char(s, 0);
> > +}
> > +
> > #if 0
> > static void encode_uint(Octstr *os, unsigned int l)
> > {
> > @@ -683,11 +711,12 @@
> >      unsigned char c;
> > 
> >      switch (field_type) {
> > -     
> > +     case MMS_HEADER_SUBJECT:
> > +       pack_utf8_encoded_text(os, value);
> > +       break;
> >      case MMS_HEADER_TO:
> >      case MMS_HEADER_CC:
> >      case MMS_HEADER_BCC:
> > -     case MMS_HEADER_SUBJECT:
> >      case MMS_HEADER_TRANSACTION_ID:
> >      case MMS_HEADER_MESSAGE_ID:
> >      case MMS_HEADER_REPLY_CHARGING_ID:
> > @@ -695,8 +724,8 @@
> > 
> >      case MMS_HEADER_STORE_STATUS_TEXT:
> >       
> > -     wsp_pack_text(os, value); /* XXX need to deal with charset issues. */
> > -     break;               
> > +             wsp_pack_text(os, value); /* XXX need to deal with charset 
> > issues. */
> > +         break;           
> >       
> >      case MMS_HEADER_RESPONSE_TEXT: /* make sure response status does not 
> > begin with digit!! Has special meaning*/
> >      case MMS_HEADER_CONTENT_LOCATION:
> > _______________________________________________
> > Devel mailing list
> > Devel@mbuni.org
> > http://lists.mbuni.org/mailman/listinfo/devel
> 
> _______________________________________________
> Devel mailing list
> Devel@mbuni.org
> http://lists.mbuni.org/mailman/listinfo/devel
> 
> 
(3, ANSI_X3.4-1968)
(4, ISO_8859-1:1987)
(5, ISO_8859-2:1987)
(6, ISO_8859-3:1988)
(7, ISO_8859-4:1988)
(8, ISO_8859-5:1988)
(9, ISO_8859-6:1987)
(10, ISO_8859-7:1987)
(11, ISO_8859-8:1988)
(12, ISO_8859-9:1989)
(13, ISO-8859-10)
(15, JIS_X0201)
(36, KS_C_5601-1987)
(37, ISO-2022-KR)
(38, EUC-KR)
(39, ISO-2022-JP)
(40, ISO-2022-JP-2)
(56, GB_1988-80)
(57, GB_2312-80)
(63, JIS_C6226-1983)
(98, JIS_X0212-1990)
(103, UNICODE-1-1-UTF-7)
(104, ISO-2022-CN)
(105, ISO-2022-CN-EXT)
(106, UTF-8)
(109, ISO-8859-13)
(110, ISO-8859-14)
(111, ISO-8859-15)
(112, ISO-8859-16)
(113, GBK)
(114, GB18030)
(1000, ISO-10646-UCS-2)
(1001, ISO-10646-UCS-4)
(1010, UNICODE-1-1)
(1012, UTF-7)
(1013, UTF-16BE)
(1014, UTF-16LE)
(1015, UTF-16)
(1017, UTF-32)
(1018, UTF-32BE)
(1019, UTF-32LE)
(2009, IBM850)
(2013, IBM862)
(2025, GB2312)
(2082, VISCII)
(2084, KOI8-R)
(2085, HZ-GB-2312)
(2086, IBM866)
(2088, KOI8-U)
(2103, PTCP154)
(2259, TIS-620)

Attachment: pgpSUMri1sELV.pgp
Description: PGP signature

_______________________________________________
Devel mailing list
Devel@mbuni.org
http://lists.mbuni.org/mailman/listinfo/devel

Reply via email to