]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - ncurses/tinfo/read_entry.c
ncurses 6.3 - patch 20220430
[ncurses.git] / ncurses / tinfo / read_entry.c
index 66e3d31eeba61d45a87567dc61d63fe9d63f314c..d61e577bc1fc0967837b6544d91912d681fa2e28 100644 (file)
@@ -42,9 +42,7 @@
 
 #include <tic.h>
 
-MODULE_ID("$Id: read_entry.c,v 1.162 2022/04/16 21:00:00 tom Exp $")
-
-#define TYPE_CALLOC(type,elts) typeCalloc(type, (unsigned)(elts))
+MODULE_ID("$Id: read_entry.c,v 1.163 2022/04/30 18:35:46 tom Exp $")
 
 #define MyNumber(n) (short) LOW_MSB(n)
 
@@ -216,6 +214,8 @@ _nc_init_termtype(TERMTYPE2 *const tp)
 {
     unsigned i;
 
+    DEBUG(2, (T_CALLED("_nc_init_termtype(tp=%p)"), tp));
+
 #if NCURSES_XNAMES
     tp->num_Booleans = BOOLCOUNT;
     tp->num_Numbers = NUMCOUNT;
@@ -239,6 +239,8 @@ _nc_init_termtype(TERMTYPE2 *const tp)
 
     for_each_string(i, tp)
        tp->Strings[i] = ABSENT_STRING;
+
+    DEBUG(2, (T_RETURN("")));
 }
 
 #if NCURSES_USE_DATABASE
@@ -346,9 +348,8 @@ _nc_read_termtype(TERMTYPE2 *ptr, char *buffer, int limit)
        offset = (int) (have - MAX_NAME_SIZE);
 
     /* grab the booleans */
-    if ((ptr->Booleans = TYPE_CALLOC(NCURSES_SBOOL,
-                                    max(BOOLCOUNT, bool_count))) == 0
-       || Read(ptr->Booleans, (unsigned) bool_count) < bool_count) {
+    TYPE_CALLOC(NCURSES_SBOOL, max(BOOLCOUNT, bool_count), ptr->Booleans);
+    if (Read(ptr->Booleans, (unsigned) bool_count) < bool_count) {
        returnDB(TGETENT_NO);
     }
 
@@ -361,15 +362,13 @@ _nc_read_termtype(TERMTYPE2 *ptr, char *buffer, int limit)
     even_boundary(name_size + bool_count);
 
     /* grab the numbers */
-    if (!(ptr->Numbers = TYPE_CALLOC(NCURSES_INT2, max(NUMCOUNT, num_count)))
-       || !read_numbers(buf, num_count)) {
+    TYPE_CALLOC(NCURSES_INT2, max(NUMCOUNT, num_count), ptr->Numbers);
+    if (!read_numbers(buf, num_count)) {
        returnDB(TGETENT_NO);
     }
     convert_numbers(buf, ptr->Numbers, num_count);
 
-    if ((ptr->Strings = TYPE_CALLOC(char *, max(STRCOUNT, str_count))) == 0) {
-       returnDB(TGETENT_NO);
-    }
+    TYPE_CALLOC(char *, max(STRCOUNT, str_count), ptr->Strings);
 
     if (str_count) {
        /* grab the string offsets */
@@ -510,9 +509,7 @@ _nc_read_termtype(TERMTYPE2 *ptr, char *buffer, int limit)
            if (ext_str_count >= (max_entry_size / 2)) {
                returnDB(TGETENT_NO);
            }
-           if ((ptr->ext_Names = TYPE_CALLOC(char *, need)) == 0) {
-               returnDB(TGETENT_NO);
-           }
+           TYPE_CALLOC(char *, need, ptr->ext_Names);
            TR(TRACE_DATABASE,
               ("ext_NAMES starting @%d in extended_strings, first = %s",
                base, _nc_visbuf(ptr->ext_str_table + base)));