- if (GTK_TOGGLE_BUTTON (sendSMS.report)->active)
- sms.Report = true;
- else
- sms.Report = false;
- sms.Type = SMS_Submit;
-
- sms.DCS.Type = SMS_GeneralDataCoding;
- sms.DCS.u.General.Compressed = false;
- sms.DCS.u.General.Alphabet = SMS_DefaultAlphabet;
- sms.DCS.u.General.Class = 0;
- sms.MessageCenter.No = 1;
- sms.Validity.VPF = SMS_RelativeFormat;
- sms.Validity.u.Relative = sms.MessageCenter.Validity; /* 4320 minutes == 72 hours */
- sms.UDH_No = 0;
-
- strncpy (sms.RemoteNumber.number, number, GSM_MAX_DESTINATION_LENGTH + 1);
- sms.RemoteNumber.number[GSM_MAX_DESTINATION_LENGTH] = '\0';
-
- if (l > GSM_MAX_SMS_LENGTH)
- {
- if (longSMS)
- {
- sms.UDH[0].Type = SMS_ConcatenatedMessages;
- nr_msg = ((l - 1) / 153) + 1;
- udh[0] = 0x05; // UDH length
- udh[1] = 0x00; // concatenated messages (IEI)
- udh[2] = 0x03; // IEI data length
- udh[3] = 0x01; // reference number
- udh[4] = nr_msg; // number of messages
- udh[5] = 0x00; // message reference number
- offset = 6;
-
- for (j = 0; j < nr_msg; j++)
- {
- udh[5] = j + 1;
-
- memcpy(sms.MessageText,udh,offset);
- strncpy (sms.MessageText+offset, text + (j * 153), 153);
- sms.MessageText[153] = '\0';
-
- buf = g_strdup_printf (_("Sending SMS to %s (%d/%d) ...\n"),
- sms.RemoteNumber.number, j + 1, nr_msg);
- gtk_label_set_text (GTK_LABEL (infoDialog.text), buf);
- gtk_widget_show_now (infoDialog.dialog);
- g_free (buf);
- GUI_Refresh ();
-
- if (SendSMSCore (&sms) != GE_SMSSENDOK)
- {
- gtk_widget_hide (infoDialog.dialog);
- GUI_Refresh ();
- break;
- }
-
- gtk_widget_hide (infoDialog.dialog);
- GUI_Refresh ();
-
- sleep (1);
- }
- }
- else
- {
- sms.UDH_Length = 0;
- nr_msg = ((l - 1) / 153) + 1;
- if (nr_msg > 99) // We have place only for 99 messages in header.
- nr_msg = 99;
- for (j = 0; j < nr_msg; j++)
- {
- gchar header[8];
+ GSM_MakeMultiPartSMS2(&Multisms,text,chars_read,UDHType,GSM_Coding_Default);
+
+ for (j=0;j<Multisms.number;j++) {
+ Multisms.SMS[j].MessageCenter = xgnokiiConfig.smsSetting[sendSMS.center];
+ Multisms.SMS[j].MessageCenter.No = 0;