--- gnokii-0.6.26/smsd/file.c 2007-05-07 20:05:51.000000000 +0200 +++ /root/Sources/gnokii-0.6.26/smsd/file.c 2008-07-18 14:19:20.000000000 +0200 @@ -156,7 +156,7 @@ struct dirent *dirent; FILE *smsFile; GString *buf; - gint numError, error; + gint numError, error, mlength; if (spool[0] == '\0') // if user don't set spool dir, sending is disabled @@ -193,10 +193,14 @@ if (sms.remote.number[strlen (sms.remote.number) - 1] == '\n') sms.remote.number[strlen (sms.remote.number) - 1] = '\0'; - fgets ((gchar *) sms.user_data[0].u.text, GN_SMS_MAX_LENGTH + 1, smsFile); - if (sms.user_data[0].u.text[strlen ((gchar *) sms.user_data[0].u.text) - 1] == '\n') - sms.user_data[0].u.text[strlen ((gchar *) sms.user_data[0].u.text) - 1] = '\0'; - +// fgets ((gchar *) sms.user_data[0].u.text, GN_SMS_MAX_LENGTH + 1, smsFile); + mlength=fread ((gchar *) sms.user_data[0].u.text, 1, GN_SMS_MAX_LENGTH, smsFile); + if (mlength>0) + { + sms.user_data[0].u.text[mlength]='\0'; + if (sms.user_data[0].u.text[strlen ((gchar *) sms.user_data[0].u.text) - 1] == '\n') + sms.user_data[0].u.text[strlen ((gchar *) sms.user_data[0].u.text) - 1] = '\0'; + } fclose (smsFile); // sms.delivery_report = (smsdConfig.smsSets & SMSD_READ_REPORTS);