--- file.c.orig 2004-01-25 21:55:07.000000000 +0100 +++ file.c 2004-01-25 21:56:44.000000000 +0100 @@ -154,6 +154,8 @@ struct dirent *dirent; FILE *smsFile; GString *buf; + gchar b[GN_SMS_MAX_LENGTH + 1]; + gint sl; gint numError, error; @@ -191,7 +193,14 @@ if (sms.remote.number[strlen (sms.remote.number) - 1] == '\n') sms.remote.number[strlen (sms.remote.number) - 1] = '\0'; - fgets (sms.user_data[0].u.text, GN_SMS_MAX_LENGTH + 1, smsFile); + sms.user_data[0].u.text[0] = '\0'; + sl = 0; + while (fgets (b, GN_SMS_MAX_LENGTH + 1, smsFile) != NULL && + sl < GN_SMS_MAX_LENGTH) + { + sl = strlen (sms.user_data[0].u.text); + strncat (sms.user_data[0].u.text, b, GN_SMS_MAX_LENGTH - sl); + } if (sms.user_data[0].u.text[strlen (sms.user_data[0].u.text) - 1] == '\n') sms.user_data[0].u.text[strlen (sms.user_data[0].u.text) - 1] = '\0';