++p;
break;
default:
- if (*p == nl) {
+ if (nl == '\n' && *p == '\r') {
+ p++;
+ } else if (*p == nl) {
if (mp->inp == mp->data)
*mp->inp++ = ' ';
*mp->inp = 0; /* zero terminate it, but don't include it in the length */
case 'D':
if (p) {
int l = mp->inp - (unsigned char *) p;
+ if (nl == '\n' && l >= 1 && p[l-1] == '\r') /* kludge for GB7DXM */
+ l--;
send_text(in, p, l);
- }
+ }
break;
default:
break;