X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=progs%2Ftic.c;h=627a62930218b4697a1ec9ffd14bff545631aca0;hp=3d894acd2d406b850c465268400a2b6c2933c31b;hb=d96f3e9b8a422f6daa2101d4d165801421312aa0;hpb=3996fe0bf797f113d6abc4329cc869951735a4d8 diff --git a/progs/tic.c b/progs/tic.c index 3d894acd..627a6293 100644 --- a/progs/tic.c +++ b/progs/tic.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. * + * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * * copy of this software and associated documentation files (the * @@ -44,7 +44,7 @@ #include #include -MODULE_ID("$Id: tic.c,v 1.139 2009/12/12 17:30:12 Nicholas.Marriott Exp $") +MODULE_ID("$Id: tic.c,v 1.142 2010/07/24 22:09:28 tom Exp $") const char *_nc_progname = "tic"; @@ -347,6 +347,9 @@ stripped(char *src) if ((dst = strdup(src)) == NULL) failed("strdup"); + + assert(dst != 0); + len = strlen(dst); while (--len != 0 && isspace(UChar(dst[len]))) dst[len] = '\0'; @@ -1272,6 +1275,8 @@ similar_sgr(int num, char *a, char *b) } else if (delaying) { a = skip_delay(a); b = skip_delay(b); + } else if ((*b == '0' || (*b == ';')) && *a == 'm') { + b++; } else { a++; } @@ -1436,6 +1441,11 @@ check_termtype(TERMTYPE *tp, bool literal) ANDMISSING(change_scroll_region, save_cursor); ANDMISSING(change_scroll_region, restore_cursor); + /* + * If we can clear tabs, we should be able to initialize them. + */ + ANDMISSING(clear_all_tabs, set_tab); + if (PRESENT(set_attributes)) { char *zero = 0;