X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Ftinfo%2Fread_entry.c;h=3b020992d18a8d3571df7ad05f8db3ccc1ac3618;hp=44811512fbaec600b1fbbb339ba1e8e1a864ca4c;hb=bf5877fb3d0985dcde0e71f52be87d865f76a7ca;hpb=74137fec04e130a88ef25618cf730af988a4f51a;ds=sidebyside diff --git a/ncurses/tinfo/read_entry.c b/ncurses/tinfo/read_entry.c index 44811512..3b020992 100644 --- a/ncurses/tinfo/read_entry.c +++ b/ncurses/tinfo/read_entry.c @@ -41,7 +41,7 @@ #include -MODULE_ID("$Id: read_entry.c,v 1.147 2018/04/01 01:32:39 tom Exp $") +MODULE_ID("$Id: read_entry.c,v 1.150 2018/11/17 21:40:10 tom Exp $") #define TYPE_CALLOC(type,elts) typeCalloc(type, (unsigned)(elts)) @@ -749,10 +749,13 @@ _nc_read_tic_entry(char *filename, (T_CALLED("_nc_read_tic_entry(file=%p, path=%s, name=%s)"), filename, path, name)); + assert(TGETENT_YES == TRUE); /* simplify call for _nc_name_match */ + if ((used = decode_quickdump(buffer, path)) != 0 && (code = _nc_read_termtype(tp, buffer, used)) == TGETENT_YES - && _nc_name_match(tp->term_names, name, "|")) { + && (code = _nc_name_match(tp->term_names, name, "|")) == TGETENT_YES) { TR(TRACE_DATABASE, ("loaded quick-dump for %s", name)); + strcpy(filename, "$TERMINFO"); /* shorten name shown by infocmp */ } else #if USE_HASHED_DB if (make_db_filename(filename, limit, path) @@ -837,6 +840,9 @@ _nc_read_entry2(const char *const name, char *const filename, TERMTYPE2 *const t { int code = TGETENT_NO; + if (name == 0) + return _nc_read_entry2("", filename, tp); + _nc_SPRINTF(filename, _nc_SLIMIT(PATH_MAX) "%.*s", PATH_MAX - 1, name);