/* See LICENSE for licence details. */
-/* See LICENSE for licence details. */
#define _XOPEN_SOURCE
#include <ctype.h>
#include <errno.h>
/* Attribute, Cursor, Character state, Terminal mode, Screen draw mode */
enum { ATnone=0 , ATreverse=1 , ATunderline=2, ATbold=4 };
enum { CSup, CSdown, CSright, CSleft, CShide, CSdraw, CSwrap, CSsave, CSload };
-enum { CRset=1 , CRupdate=2 };
-enum { TMwrap=1 , TMinsert=2, TMaltcharset };
+enum { CRset=1, CRupdate=2 };
+enum { TMwrap=1, TMinsert=2, TMaltcharset };
enum { SCupdate, SCredraw };
typedef int Color;
void
eschandle(void) {
- /* escdump(); */
switch(escseq.pre) {
+ default:
+ goto unknown_seq;
case '[':
switch(escseq.mode) {
+ default:
+ unknown_seq:
+ fprintf(stderr, "erresc: unknown sequence\n");
+ escdump();
+ break;
case '@': /* Insert <n> blank char */
DEFAULT(escseq.arg[0], 1);
tinsertblank(escseq.arg[0]);
void
escdump(void) {
int i;
- puts("------");
printf("rawbuf : %s\n", escseq.buf);
printf("prechar : %c\n", escseq.pre);
printf("private : %c\n", escseq.priv ? '?' : ' ');
printf("narg : %d\n", escseq.narg);
- if(escseq.narg) {
+ if(escseq.narg)
for(i = 0; i < escseq.narg; i++)
printf("\targ %d = %d\n", i, escseq.arg[i]);
- }
printf("mode : %c\n", escseq.mode);
}