Hello! In function emi2_handle_smscreq we have dlrmsg->sms.msgdata = octstr_duplicate(emimsg->fields[E50_AMSG]); what may be incoreect because in OT == 51 reply message dosn't contain E50_AMSG field and emimsg = get_fields(str, privdata->name); (called before) dosn't initialize this field to any value. This patch helps...
--- smsc_emi2.c.orig Wed Nov 13 15:06:39 2002 +++ smsc_emi2.c Wed Nov 13 15:08:25 2002 @@ -976,7 +976,7 @@ 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_create(""); octstr_hex_to_binary(dlrmsg->sms.msgdata); dlrmsg->sms.sms_type = report; any comments? May be better to fix get_fields(...) function (in emimsg.c) to initialize all fields to NULL before use. with best wishes German Aksenov phone: (095)258-7258 ext. 7836