--- gnokii.c Sun Apr 14 11:05:34 2002 +++ gnokii/gnokii.c Sun Apr 14 11:16:30 2002 @@ -3371,20 +3371,7 @@ int i1, i2, msgno, msgpart; static int unknown = 0; char c; + int num_len; + char number[20]; + /* check if sender number is longer than 10 chars, and remove the first one + * the + sign if it is */ + if ((num_len = strlen(message->RemoteNumber.number))>10) { + if (message->RemoteNumber.number[0] == '+') { + strncpy(number, message->RemoteNumber.number+1, num_len+1); + } + } + else + { + strncpy(number, message->RemoteNumber.number, num_len); + } + printf("number called was: %s, rem_num was: %s\n", number, message->RemoteNumber.number); + while (*s == 'W') s++; fprintf(stderr, _("Got message %d: %s\n"), i, s); @@ -3392,7 +3379,7 @@ sprintf(buf, "/tmp/sms/mail_%d_", msgno); else if (sscanf(s, "%d/%d:%d-%d-", &i1, &i2, &msgno, &msgpart) == 4) sprintf(buf, "/tmp/sms/mail_%d_%03d", msgno, msgpart); - else sprintf(buf, "/tmp/sms/unknown_%d_%d", getpid(), unknown++); + else sprintf(buf, "/tmp/sms/sms_%s_%d_%d", number, getpid(), unknown++); if ((output = fopen(buf, "r")) != NULL) { fprintf(stderr, _("### Exists?!\n")); return GE_CANTOPENFILE; @@ -3400,8 +3387,6 @@ output = fopen(buf, "w+"); if (strstr(buf, "unknown")) fprintf(output, "%s", message->UserData[0].u.Text); + else if (strstr(buf, "sms")) + fprintf(output, "%s", message->UserData[0].u.Text); else { s = message->UserData[0].u.Text; while (!(*s == '-'))