--- lowlevel.c.orig 2007-10-16 21:01:33.122212265 +0200 +++ lowlevel.c 2007-10-16 21:15:39.170425805 +0200 @@ -204,7 +204,14 @@ register gint i; - gn_log_xdebug ("RefreshSMS is running...\n"); + if (number < 1) + { + gn_log_xdebug ("RefreshSMS is started with number of sms less than 1.\n\ +This should not happen.\nSkiping."); + return; + } + + gn_log_xdebug ("RefreshSMS is running...\nNumber of messages: %d\n", number); pthread_mutex_lock (&smsMutex); FreeArray (&(phoneMonitor.sms.messages)); @@ -370,6 +377,8 @@ SMSFolder.folder_id = smsdConfig.memoryType; if ((error = gn_sm_functions (GN_OP_GetSMSFolderStatus, data, sm)) == GN_ERR_NONE) { + g_print ("phoneMonitor.sms.number=%d\nSMSFolder.number=%d\n", + phoneMonitor.sms.number, SMSFolder.number); if (phoneMonitor.sms.number != SMSFolder.number) { phoneMonitor.working = TRUE; @@ -388,6 +397,10 @@ data->memory_status = &dummy; if ((error = gn_sm_functions (GN_OP_GetSMSStatus, data, sm)) == GN_ERR_NONE) { + g_print ("phoneMonitor.sms.unRead=%d\nSMSStatus.unread=%d\n\ +phoneMonitor.sms.number=%d\nSMSStatus.number=%d\n", + phoneMonitor.sms.unRead, SMSStatus.unread, + phoneMonitor.sms.number, SMSStatus.number); if (phoneMonitor.sms.unRead != SMSStatus.unread || phoneMonitor.sms.number != SMSStatus.number) {