intialise parameter, ignore unsupported escapes

This commit is contained in:
Dave Murphy 2014-12-13 02:40:25 +00:00
parent e8df59be59
commit 28ef35f4a6

View File

@ -296,7 +296,10 @@ ssize_t con_write(struct _reent *r,int fd,const char *ptr, size_t len) {
} }
do { do {
if (strchr(escapeseq,';')) { parameter = 0;
if (escapelen == 1) {
consumed = 1;
} else if (strchr(escapeseq,';')) {
sscanf(escapeseq,"%d;%n", &parameter, &consumed); sscanf(escapeseq,"%d;%n", &parameter, &consumed);
} else { } else {
sscanf(escapeseq,"%dm%n", &parameter, &consumed); sscanf(escapeseq,"%dm%n", &parameter, &consumed);
@ -347,6 +350,11 @@ ssize_t con_write(struct _reent *r,int fd,const char *ptr, size_t len) {
escaping = false; escaping = false;
break; break;
default:
// some sort of unsupported escape; just gloss over it
escaping = false;
break;
} }
} while (escaping); } while (escaping);
continue; continue;