- msg->Number = ++i;
- gdat.SMSMessage = msg;
-
- if ((error = SM_Functions(GOP_GetSMS, &gdat, &statemachine)) == GE_NONE)
- {
- pthread_mutex_lock (&smsMutex);
- phoneMonitor.sms.messages = g_slist_append (phoneMonitor.sms.messages, msg);
- phoneMonitor.sms.number++;
- pthread_mutex_unlock (&smsMutex);
- if (phoneMonitor.sms.number == number)
- return;
- }
- else if (error == GE_INVALIDSMSLOCATION) /* All positions are readed */
- {
- g_free (msg);
- break;
+ msg->Location = i;
+#ifdef XDEBUG
+ fprintf(stdout, _("test: %d %i %i %i\n"),msg->Location,phoneMonitor.sms.number,phoneMonitor.sms.number2,number);
+#endif
+ pthread_mutex_lock (&smsMutex);
+ if( GetModelFeature(FN_SMS)==F_SMS71 ) msg->Location = 0; /* read next sms for 6210/7110 */
+ error = GSM->GetSMSMessage (msg);
+ pthread_mutex_unlock (&smsMutex);
+ switch (error) {
+ case GE_NONE:
+ pthread_mutex_lock (&smsMutex);
+#ifdef XDEBUG
+ fprintf(stdout, _("Refresh SMS: g_slist_append: sms message"));
+ fprintf(stdout, _(" Location: %d"),msg->Location);
+ fprintf(stdout, _(" folder: %d"),msg->folder);
+ if ( msg-> SMSData) fprintf(stdout, _(" SMSData true\n"));
+ else fprintf(stdout, _(" SMSData false\n"));
+#endif
+ /* RTH: unread sms from folder 0 to INBOX */
+ phoneMonitor.sms.messages = g_slist_append (phoneMonitor.sms.messages, msg);
+ phoneMonitor.sms.number++;
+ phoneMonitor.sms.number2++;
+ pthread_mutex_unlock (&smsMutex);
+ if (phoneMonitor.sms.number2 == number) return;
+ break;
+ case GE_SMSTOOLONG: /* Picture Image in 7110 comp phone */
+ g_free (msg);
+ phoneMonitor.sms.number2++;
+ if (phoneMonitor.sms.number2 == number) return;
+ break;
+ default:
+ g_free (msg);
+ break;