Hello!

It was only sample code. I don know the right value for dlrmsg->sms.msgdata
(may be it must be other then "") and loging was turned on for debuging to
mark PANIC.

with best wishes
 German Aksenov
phone: (095)258-7258 ext. 7836


                                                                                       
                                    
                      "Oded Arbel"                                                     
                                    
                      <[EMAIL PROTECTED]        To:       <[EMAIL PROTECTED]>, 
<[EMAIL PROTECTED]>                    
                      >                        cc:                                     
                                    
                                               Subject:  RE: kannel 1.2.1 crashes then 
dlr in use                          
                      10.11.2002 10:27                                                 
                                    
                                                                                       
                                    
                                                                                       
                                    





> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:GAksenov@;imbank.ru]

> Today i set up some check code into smsc_emi2.c:
>
> --- smsc_emi2.orig      Wed Sep  4 21:08:52 2002
> +++ smsc_emi2.c Sun Nov 10 10:00:12 2002
> @@ -976,7 +976,11 @@ static int emi2_handle_smscreq (SMSCConn
>                   * Recode the msg structure with the given msgdata.
>                   * Note: the DLR URL is delivered in msg->sms.dlr_url
> already.
>                   */
> -                dlrmsg->sms.msgdata =
> octstr_duplicate(emimsg->fields[E50_AMSG]);
> +                               dlrmsg->sms.msgdata =
> octstr_duplicate(emimsg->fields[E50_AMSG]);
> +                if (dlrmsg->sms.msgdata == NULL) {
> +                                 dlrmsg->sms.msgdata =
> octstr_create("");
> +                                 info(0, "EMI2[%s]: msgdata is NULL",
> octstr_get_cstr(privdata->name));
> +                }
>                  octstr_hex_to_binary(dlrmsg->sms.msgdata);

You can do it far easier with

dlrmsg->sms.msgdata = emimsg->fields[E50_AMSG] != NULL ?
octstr_duplicate(emimsg->fields[E50_AMSG]) : octstr_create("");

and allow the compile to do some more optimizations if it likes to. you
don't really need to log the fact that the message is empty : it gets
sufficiently logged at other places.

--
Oded Arbel
m-Wise mobile solutions
[EMAIL PROTECTED]

+972-9-9581711 (116)
+972-67-340014

::..
If you sell diamonds, you cannot expect to have many customers.
But a diamond is a diamond even if there are no customers.
                 -- Swami Prabhupada





Reply via email to