]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - ncurses/tinfo/comp_parse.c
ncurses 5.9 - patch 20120128
[ncurses.git] / ncurses / tinfo / comp_parse.c
index a1f9f4a877fb634cec5bc3a04fe48a9b97e7ce43..48bd97a8923cd9c1d1d347ac2aa8adba3415dd2b 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
 /****************************************************************************
- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2011,2012 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            *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -47,7 +47,7 @@
 
 #include <tic.h>
 
 
 #include <tic.h>
 
-MODULE_ID("$Id: comp_parse.c,v 1.77 2011/10/01 22:43:51 tom Exp $")
+MODULE_ID("$Id: comp_parse.c,v 1.79 2012/01/28 21:49:23 tom Exp $")
 
 static void sanity_check2(TERMTYPE *, bool);
 NCURSES_IMPEXP void NCURSES_API(*_nc_check_termtype2) (TERMTYPE *, bool) = sanity_check2;
 
 static void sanity_check2(TERMTYPE *, bool);
 NCURSES_IMPEXP void NCURSES_API(*_nc_check_termtype2) (TERMTYPE *, bool) = sanity_check2;
@@ -56,7 +56,7 @@ NCURSES_IMPEXP void NCURSES_API(*_nc_check_termtype2) (TERMTYPE *, bool) = sanit
 static void sanity_check(TERMTYPE *);
 NCURSES_IMPEXP void NCURSES_API(*_nc_check_termtype) (TERMTYPE *) = sanity_check;
 
 static void sanity_check(TERMTYPE *);
 NCURSES_IMPEXP void NCURSES_API(*_nc_check_termtype) (TERMTYPE *) = sanity_check;
 
-static void fixup_acsc(TERMTYPE *, bool);
+static void fixup_acsc(TERMTYPE *, int);
 
 static void
 enqueue(ENTRY * ep)
 
 static void
 enqueue(ENTRY * ep)
@@ -470,7 +470,15 @@ _nc_resolve_uses2(bool fullresolve, bool literal)
            for_entry_list(qp) {
                _nc_curr_line = (int) qp->startline;
                _nc_set_type(_nc_first_name(qp->tterm.term_names));
            for_entry_list(qp) {
                _nc_curr_line = (int) qp->startline;
                _nc_set_type(_nc_first_name(qp->tterm.term_names));
-               fixup_acsc(&qp->tterm, literal);
+               /*
+                * tic overrides this function pointer to provide more verbose
+                * checking.
+                */
+               if (_nc_check_termtype2 != sanity_check2) {
+                   _nc_check_termtype2(&qp->tterm, literal);
+               } else {
+                   fixup_acsc(&qp->tterm, literal);
+               }
            }
            DEBUG(2, ("SANITY CHECK FINISHED"));
        }
            }
            DEBUG(2, ("SANITY CHECK FINISHED"));
        }
@@ -495,7 +503,7 @@ _nc_resolve_uses(bool fullresolve)
 #define CUR tp->
 
 static void
 #define CUR tp->
 
 static void
-fixup_acsc(TERMTYPE *tp, bool literal)
+fixup_acsc(TERMTYPE *tp, int literal)
 {
     if (!literal) {
        if (acs_chars == 0
 {
     if (!literal) {
        if (acs_chars == 0