pike.git / lib / modules / Stdio.pmod / Terminfo.pmod

version» Context lines:

pike.git/lib/modules/Stdio.pmod/Terminfo.pmod:1: - // $Id$ +    #pike __REAL_VERSION__         #if constant(thread_create)   #define LOCK object m_key = mutex->lock()   #define UNLOCK destruct(m_key)   #define MUTEX protected private object(Thread.Mutex) mutex = Thread.Mutex();   #else   #define LOCK   #define UNLOCK
pike.git/lib/modules/Stdio.pmod/Terminfo.pmod:621:    buf = buf[j+1..];    if (!more_data()) return 0; // eof    }    }       Termcap load(string term, int|void maxrecurse)    {    int|string|Termcap cap;       LOCK; -  if (zero_type(cache[term])) +  if (!has_index(cache, term))    {    if (!complete_index)    {    rewind();    do    cap = read_next(term);    while(cap && search(get_names(cap), term)<0);    }    }    else if (intp(cap=cache[term])) {
pike.git/lib/modules/Stdio.pmod/Terminfo.pmod:708:    error("failed to read terminfo dir %O\n", dirname);    }       array(string) _indices()    {    LOCK;    if (!complete_index) {    foreach (get_dir(dir), string a)    if (sizeof(a) == 1)    foreach (get_dir(dir+a), string b) -  if(zero_type(cache[b])) +  if(!has_index(cache, b))    cache[b] = 0;    complete_index = 1;    }    UNLOCK;    return sort(indices(cache));    }       array(object) _values()    {    return predef::map(_indices(),
pike.git/lib/modules/Stdio.pmod/Terminfo.pmod:794:    "/usr/share/termcap", "/usr/share/misc/terminfo",    });    }    foreach(dbs, string|TerminfoDB db) {    if (stringp(db)) {    .Stat st = file_stat(db);    if (!st || !st->isdir) continue;    db = TerminfoDB(db);    }    if (!db) continue; -  this_program::dbs += ({ db }); +  this::dbs += ({ db });    } -  // werror("TerminfoDBs: %O\n", this_program::dbs); -  if (!sizeof(this_program::dbs)) { +  // werror("TerminfoDBs: %O\n", this::dbs); +  if (!sizeof(this::dbs)) {    destruct(this);    }    }       Terminfo `[](string name)    {    foreach(dbs, TerminfoDB db) {    Terminfo ti = db[name];    if (ti) return ti;    }