|
|
1.1 ! root 1: /* ! 2: * putinfo.c ! 3: * This file is generated by MKinfo.awk. ! 4: * Do not make any changes directly to this file ! 5: */ ! 6: #include <stdio.h> ! 7: #include <string.h> ! 8: #include <ctype.h> ! 9: ! 10: #define bool char ! 11: #define TRUE 1 ! 12: #define FALSE 0 ! 13: ! 14: #define MAXINDEX(array) (sizeof(array)/sizeof(array[0])) ! 15: ! 16: /* ! 17: * bools and boolcaps; ! 18: * lookup translate table for boolean fields. ! 19: */ ! 20: ! 21: struct bools { ! 22: char *capname; /* termcap name */ ! 23: char *infoname; /* terminfo name */ ! 24: }; ! 25: ! 26: struct bools boolcaps[] = { ! 27: { "bw", "bw" }, ! 28: { "am", "am" }, ! 29: { "xb", "xsb" }, ! 30: { "xs", "xhp" }, ! 31: { "xn", "xenl" }, ! 32: { "eo", "eo" }, ! 33: { "gn", "gn" }, ! 34: { "hc", "hc" }, ! 35: { "km", "km" }, ! 36: { "hs", "hs" }, ! 37: { "in", "in" }, ! 38: { "da", "da" }, ! 39: { "db", "db" }, ! 40: { "mi", "mir" }, ! 41: { "ms", "msgr" }, ! 42: { "os", "os" }, ! 43: { "es", "eslok" }, ! 44: { "xt", "xt" }, ! 45: { "hz", "hz" }, ! 46: { "ul", "ul" }, ! 47: { "xo", "xon" }, ! 48: { "nx", "nxon" }, ! 49: { "5i", "mc5i" }, ! 50: { "HC", "chts" }, ! 51: { "NR", "nrrmc" }, ! 52: { "NP", "npc" }, ! 53: { "ND", "ndscr" }, ! 54: { "cc", "ccc" }, ! 55: { "be", "bce" }, ! 56: { "hl", "hls" }, ! 57: { "YA", "xhpa" }, ! 58: { "YB", "crxm" }, ! 59: { "YC", "daisy" }, ! 60: { "YD", "xvpa" }, ! 61: { "YE", "sam" }, ! 62: { "YF", "cpix" }, ! 63: { "YG", "lpix" }, ! 64: }; ! 65: ! 66: #define MAXBOOLS MAXINDEX(boolcaps) ! 67: ! 68: /* ! 69: * nums and numcaps; ! 70: * lookuptranslate table for numeric capabilities. ! 71: */ ! 72: struct nums { ! 73: char *capname; /* termcap name */ ! 74: char *infoname; /* terminfo name */ ! 75: }; ! 76: ! 77: struct nums numcaps[] = { ! 78: { "co", "cols" }, ! 79: { "it", "it" }, ! 80: { "li", "lines" }, ! 81: { "lm", "lm" }, ! 82: { "sg", "xmc" }, ! 83: { "pb", "pb" }, ! 84: { "vt", "vt" }, ! 85: { "ws", "wsl" }, ! 86: { "Nl", "nlab" }, ! 87: { "lh", "lh" }, ! 88: { "lw", "lw" }, ! 89: { "ma", "ma" }, ! 90: { "MW", "wnum" }, ! 91: { "Co", "colors" }, ! 92: { "pa", "pairs" }, ! 93: { "NC", "ncv" }, ! 94: { "Ya", "bufsz" }, ! 95: { "Yb", "spinv" }, ! 96: { "Yc", "spinh" }, ! 97: { "Yd", "maddr" }, ! 98: { "Ye", "mjump" }, ! 99: { "Yf", "mcs" }, ! 100: { "Yg", "mls" }, ! 101: { "Yh", "npins" }, ! 102: { "Yi", "orc" }, ! 103: { "Yj", "orl" }, ! 104: { "Yk", "orhi" }, ! 105: { "Yl", "orvi" }, ! 106: { "Ym", "cps" }, ! 107: { "Yn", "widcs" }, ! 108: }; ! 109: ! 110: #define MAXNUMS MAXINDEX(numcaps) ! 111: ! 112: /* ! 113: * sts and strcaps; ! 114: * lookuptranslate table for string capabilities. ! 115: */ ! 116: struct strs { ! 117: char *capname; /* termcap name */ ! 118: char *infoname; /* terminfo name */ ! 119: char *dflt; /* default value */ ! 120: }; ! 121: ! 122: struct strs strcaps[] = { ! 123: { "bt", "cbt", ((char *)0) }, ! 124: { "bl", "bel", "^G" }, ! 125: { "cr", "cr", "\r" }, ! 126: { "cs", "csr", ((char *)0) }, ! 127: { "ct", "tbc", ((char *)0) }, ! 128: { "cl", "clear", ((char *)0) }, ! 129: { "ce", "el", ((char *)0) }, ! 130: { "cd", "ed", ((char *)0) }, ! 131: { "ch", "hpa", ((char *)0) }, ! 132: { "CC", "cmdch", ((char *)0) }, ! 133: { "cm", "cup", ((char *)0) }, ! 134: { "do", "cud1", "\n" }, ! 135: { "ho", "home", ((char *)0) }, ! 136: { "vi", "civis", ((char *)0) }, ! 137: { "le", "cub1", "\b" }, ! 138: { "CM", "mrcup", ((char *)0) }, ! 139: { "ve", "cnorm", ((char *)0) }, ! 140: { "nd", "cuf1", ((char *)0) }, ! 141: { "ll", "ll", ((char *)0) }, ! 142: { "up", "cuu1", ((char *)0) }, ! 143: { "vs", "cvvis", ((char *)0) }, ! 144: { "dc", "dch1", ((char *)0) }, ! 145: { "dl", "dl1", ((char *)0) }, ! 146: { "ds", "dsl", ((char *)0) }, ! 147: { "hd", "hd", ((char *)0) }, ! 148: { "as", "smacs", ((char *)0) }, ! 149: { "mb", "blink", ((char *)0) }, ! 150: { "md", "bold", ((char *)0) }, ! 151: { "ti", "smcup", ((char *)0) }, ! 152: { "dm", "smdc", ((char *)0) }, ! 153: { "mh", "dim", ((char *)0) }, ! 154: { "im", "smir", ((char *)0) }, ! 155: { "mk", "invis", ((char *)0) }, ! 156: { "mp", "prot", ((char *)0) }, ! 157: { "mr", "rev", ((char *)0) }, ! 158: { "so", "smso", ((char *)0) }, ! 159: { "us", "smul", ((char *)0) }, ! 160: { "ec", "ech", ((char *)0) }, ! 161: { "ae", "rmacs", ((char *)0) }, ! 162: { "me", "sgr0", ((char *)0) }, ! 163: { "te", "rmcup", ((char *)0) }, ! 164: { "ed", "rmdc", ((char *)0) }, ! 165: { "ei", "rmir", ((char *)0) }, ! 166: { "se", "rmso", ((char *)0) }, ! 167: { "ue", "rmul", ((char *)0) }, ! 168: { "vb", "flash", ((char *)0) }, ! 169: { "ff", "ff", ((char *)0) }, ! 170: { "fs", "fsl", ((char *)0) }, ! 171: { "i1", "is1", ((char *)0) }, ! 172: { "is", "is2", ((char *)0) }, ! 173: { "i3", "is3", ((char *)0) }, ! 174: { "if", "if", ((char *)0) }, ! 175: { "ic", "ich1", ((char *)0) }, ! 176: { "il", "il1", ((char *)0) }, ! 177: { "ip", "ip", ((char *)0) }, ! 178: { "kb", "kbs", ((char *)0) }, ! 179: { "ka", "ktbc", ((char *)0) }, ! 180: { "kC", "kclr", ((char *)0) }, ! 181: { "kt", "kctab", ((char *)0) }, ! 182: { "kD", "kdch1", ((char *)0) }, ! 183: { "kL", "kdl1", ((char *)0) }, ! 184: { "kd", "kcud1", ((char *)0) }, ! 185: { "kM", "krmir", ((char *)0) }, ! 186: { "kE", "kel", ((char *)0) }, ! 187: { "kS", "ked", ((char *)0) }, ! 188: { "k0", "kf0", ((char *)0) }, ! 189: { "k1", "kf1", ((char *)0) }, ! 190: { "k;", "kf10", ((char *)0) }, ! 191: { "k2", "kf2", ((char *)0) }, ! 192: { "k3", "kf3", ((char *)0) }, ! 193: { "k4", "kf4", ((char *)0) }, ! 194: { "k5", "kf5", ((char *)0) }, ! 195: { "k6", "kf6", ((char *)0) }, ! 196: { "k7", "kf7", ((char *)0) }, ! 197: { "k8", "kf8", ((char *)0) }, ! 198: { "k9", "kf9", ((char *)0) }, ! 199: { "kh", "khome", ((char *)0) }, ! 200: { "kI", "kich1", ((char *)0) }, ! 201: { "kA", "kil1", ((char *)0) }, ! 202: { "kl", "kcub1", ((char *)0) }, ! 203: { "kH", "kll", ((char *)0) }, ! 204: { "kN", "knp", ((char *)0) }, ! 205: { "kP", "kpp", ((char *)0) }, ! 206: { "kr", "kcuf1", ((char *)0) }, ! 207: { "kF", "kind", ((char *)0) }, ! 208: { "kR", "kri", ((char *)0) }, ! 209: { "kT", "khts", ((char *)0) }, ! 210: { "ku", "kcuu1", ((char *)0) }, ! 211: { "ke", "rmkx", ((char *)0) }, ! 212: { "ks", "smkx", ((char *)0) }, ! 213: { "l0", "lf0", ((char *)0) }, ! 214: { "l1", "lf1", ((char *)0) }, ! 215: { "la", "lf10", ((char *)0) }, ! 216: { "l2", "lf2", ((char *)0) }, ! 217: { "l3", "lf3", ((char *)0) }, ! 218: { "l4", "lf4", ((char *)0) }, ! 219: { "l5", "lf5", ((char *)0) }, ! 220: { "l6", "lf6", ((char *)0) }, ! 221: { "l7", "lf7", ((char *)0) }, ! 222: { "l8", "lf8", ((char *)0) }, ! 223: { "l9", "lf9", ((char *)0) }, ! 224: { "mo", "rmm", ((char *)0) }, ! 225: { "mm", "smm", ((char *)0) }, ! 226: { "nw", "nel", ((char *)0) }, ! 227: { "pc", "pad", ((char *)0) }, ! 228: { "DC", "dch", ((char *)0) }, ! 229: { "DL", "dl", ((char *)0) }, ! 230: { "DO", "cud", ((char *)0) }, ! 231: { "IC", "ich", ((char *)0) }, ! 232: { "SF", "indn", ((char *)0) }, ! 233: { "AL", "il", ((char *)0) }, ! 234: { "LE", "cub", ((char *)0) }, ! 235: { "RI", "cuf", ((char *)0) }, ! 236: { "SR", "rin", ((char *)0) }, ! 237: { "UP", "cuu", ((char *)0) }, ! 238: { "pk", "pfkey", ((char *)0) }, ! 239: { "pl", "pfloc", ((char *)0) }, ! 240: { "px", "pfx", ((char *)0) }, ! 241: { "ps", "mc0", ((char *)0) }, ! 242: { "pf", "mc4", ((char *)0) }, ! 243: { "po", "mc5", ((char *)0) }, ! 244: { "rp", "rep", ((char *)0) }, ! 245: { "r1", "rs1", ((char *)0) }, ! 246: { "r2", "rs2", ((char *)0) }, ! 247: { "r3", "rs3", ((char *)0) }, ! 248: { "rf", "rf", ((char *)0) }, ! 249: { "rc", "rc", ((char *)0) }, ! 250: { "cv", "vpa", ((char *)0) }, ! 251: { "sc", "sc", ((char *)0) }, ! 252: { "sf", "ind", "\n" }, ! 253: { "sr", "ri", ((char *)0) }, ! 254: { "sa", "sgr", ((char *)0) }, ! 255: { "st", "hts", ((char *)0) }, ! 256: { "wi", "wind", ((char *)0) }, ! 257: { "ta", "ht", ((char *)0) }, ! 258: { "ts", "tsl", ((char *)0) }, ! 259: { "uc", "uc", ((char *)0) }, ! 260: { "hu", "hu", ((char *)0) }, ! 261: { "iP", "iprog", ((char *)0) }, ! 262: { "K1", "ka1", ((char *)0) }, ! 263: { "K3", "ka3", ((char *)0) }, ! 264: { "k2", "kb2", ((char *)0) }, ! 265: { "K4", "kc1", ((char *)0) }, ! 266: { "K5", "kc3", ((char *)0) }, ! 267: { "pO", "mc5p", ((char *)0) }, ! 268: { "rP", "rmp", ((char *)0) }, ! 269: { "ac", "acsc", ((char *)0) }, ! 270: { "pn", "pln", ((char *)0) }, ! 271: { "kB", "kcbt", ((char *)0) }, ! 272: { "SX", "smxon", ((char *)0) }, ! 273: { "RX", "rmxon", ((char *)0) }, ! 274: { "SA", "smam", ((char *)0) }, ! 275: { "RA", "rmam", ((char *)0) }, ! 276: { "XN", "xonc", ((char *)0) }, ! 277: { "XF", "xoffc", ((char *)0) }, ! 278: { "eA", "enacs", ((char *)0) }, ! 279: { "LO", "smln", ((char *)0) }, ! 280: { "LF", "rmln", ((char *)0) }, ! 281: { "@1", "kbeg", ((char *)0) }, ! 282: { "@2", "kcan", ((char *)0) }, ! 283: { "@3", "kclo", ((char *)0) }, ! 284: { "@4", "kcmd", ((char *)0) }, ! 285: { "@5", "kcpy", ((char *)0) }, ! 286: { "@6", "kcrt", ((char *)0) }, ! 287: { "@7", "kend", ((char *)0) }, ! 288: { "@8", "kent", ((char *)0) }, ! 289: { "@9", "kext", ((char *)0) }, ! 290: { "@0", "kfnd", ((char *)0) }, ! 291: { "%1", "khlp", ((char *)0) }, ! 292: { "%2", "kmrk", ((char *)0) }, ! 293: { "%3", "kmsg", ((char *)0) }, ! 294: { "%4", "kmov", ((char *)0) }, ! 295: { "%5", "knxt", ((char *)0) }, ! 296: { "%6", "kopn", ((char *)0) }, ! 297: { "%7", "kopt", ((char *)0) }, ! 298: { "%8", "kprv", ((char *)0) }, ! 299: { "%9", "kprt", ((char *)0) }, ! 300: { "0", "krdo", ((char *)0) }, ! 301: { "&1", "kref", ((char *)0) }, ! 302: { "&2", "krfr", ((char *)0) }, ! 303: { "&3", "krpl", ((char *)0) }, ! 304: { "&4", "krst", ((char *)0) }, ! 305: { "&5", "kres", ((char *)0) }, ! 306: { "&6", "ksav", ((char *)0) }, ! 307: { "&7", "kspd", ((char *)0) }, ! 308: { "&8", "kund", ((char *)0) }, ! 309: { "&9", "kBEG", ((char *)0) }, ! 310: { "&0", "kCAN", ((char *)0) }, ! 311: { "*1", "kCMD", ((char *)0) }, ! 312: { "*2", "kCPY", ((char *)0) }, ! 313: { "*3", "kCRT", ((char *)0) }, ! 314: { "*4", "kDC", ((char *)0) }, ! 315: { "*5", "kDL", ((char *)0) }, ! 316: { "*6", "kslt", ((char *)0) }, ! 317: { "*7", "kEND", ((char *)0) }, ! 318: { "*8", "kEOL", ((char *)0) }, ! 319: { "*9", "kEXT", ((char *)0) }, ! 320: { "*0", "kFND", ((char *)0) }, ! 321: { "#1", "kHLP", ((char *)0) }, ! 322: { "#2", "kHOM", ((char *)0) }, ! 323: { "#3", "kIC", ((char *)0) }, ! 324: { "#4", "kLFT", ((char *)0) }, ! 325: { "%a", "kMSG", ((char *)0) }, ! 326: { "%b", "kMOV", ((char *)0) }, ! 327: { "%c", "kNXT", ((char *)0) }, ! 328: { "%d", "kOPT", ((char *)0) }, ! 329: { "%e", "kPRV", ((char *)0) }, ! 330: { "%f", "kPRT", ((char *)0) }, ! 331: { "%g", "kRDO", ((char *)0) }, ! 332: { "%h", "kRPL", ((char *)0) }, ! 333: { "%i", "kRIT", ((char *)0) }, ! 334: { "%j", "kRES", ((char *)0) }, ! 335: { "!1", "kSAV", ((char *)0) }, ! 336: { "!2", "kSPD", ((char *)0) }, ! 337: { "!3", "kUND", ((char *)0) }, ! 338: { "RF", "rfi", ((char *)0) }, ! 339: { "F1", "kf11", ((char *)0) }, ! 340: { "F2", "kf12", ((char *)0) }, ! 341: { "F3", "kf13", ((char *)0) }, ! 342: { "F4", "kf14", ((char *)0) }, ! 343: { "F5", "kf15", ((char *)0) }, ! 344: { "F6", "kf16", ((char *)0) }, ! 345: { "F7", "kf17", ((char *)0) }, ! 346: { "F8", "kf18", ((char *)0) }, ! 347: { "F9", "kf19", ((char *)0) }, ! 348: { "FA", "kf20", ((char *)0) }, ! 349: { "FB", "kf21", ((char *)0) }, ! 350: { "FC", "kf22", ((char *)0) }, ! 351: { "FD", "kf23", ((char *)0) }, ! 352: { "FE", "kf24", ((char *)0) }, ! 353: { "FF", "kf25", ((char *)0) }, ! 354: { "FG", "kf26", ((char *)0) }, ! 355: { "FH", "kf27", ((char *)0) }, ! 356: { "FI", "kf28", ((char *)0) }, ! 357: { "FJ", "kf29", ((char *)0) }, ! 358: { "FK", "kf30", ((char *)0) }, ! 359: { "FL", "kf31", ((char *)0) }, ! 360: { "FM", "kf32", ((char *)0) }, ! 361: { "FN", "kf33", ((char *)0) }, ! 362: { "FO", "kf34", ((char *)0) }, ! 363: { "FP", "kf35", ((char *)0) }, ! 364: { "FQ", "kf36", ((char *)0) }, ! 365: { "FR", "kf37", ((char *)0) }, ! 366: { "FS", "kf38", ((char *)0) }, ! 367: { "FT", "kf39", ((char *)0) }, ! 368: { "FU", "kf40", ((char *)0) }, ! 369: { "FV", "kf41", ((char *)0) }, ! 370: { "FW", "kf42", ((char *)0) }, ! 371: { "FX", "kf43", ((char *)0) }, ! 372: { "FY", "kf44", ((char *)0) }, ! 373: { "FZ", "kf45", ((char *)0) }, ! 374: { "Fa", "kf46", ((char *)0) }, ! 375: { "Fb", "kf47", ((char *)0) }, ! 376: { "Fc", "kf48", ((char *)0) }, ! 377: { "Fd", "kf49", ((char *)0) }, ! 378: { "Fe", "kf50", ((char *)0) }, ! 379: { "Ff", "kf51", ((char *)0) }, ! 380: { "Fg", "kf52", ((char *)0) }, ! 381: { "Fh", "kf53", ((char *)0) }, ! 382: { "Fi", "kf54", ((char *)0) }, ! 383: { "Fj", "kf55", ((char *)0) }, ! 384: { "Fk", "kf56", ((char *)0) }, ! 385: { "Fl", "kf57", ((char *)0) }, ! 386: { "Fm", "kf58", ((char *)0) }, ! 387: { "Fn", "kf59", ((char *)0) }, ! 388: { "Fo", "kf60", ((char *)0) }, ! 389: { "Fp", "kf61", ((char *)0) }, ! 390: { "Fq", "kf62", ((char *)0) }, ! 391: { "Fr", "kf63", ((char *)0) }, ! 392: { "cb", "el1", ((char *)0) }, ! 393: { "MC", "mgc", ((char *)0) }, ! 394: { "ML", "smgl", ((char *)0) }, ! 395: { "MR", "smgr", ((char *)0) }, ! 396: { "Lf", "fln", ((char *)0) }, ! 397: { "SC", "sclk", ((char *)0) }, ! 398: { "DK", "dclk", ((char *)0) }, ! 399: { "RC", "rmclk", ((char *)0) }, ! 400: { "CW", "cwin", ((char *)0) }, ! 401: { "GW", "wingo", ((char *)0) }, ! 402: { "HU", "hup", ((char *)0) }, ! 403: { "DI", "dial", ((char *)0) }, ! 404: { "QD", "qdial", ((char *)0) }, ! 405: { "TO", "tone", ((char *)0) }, ! 406: { "PU", "pulse", ((char *)0) }, ! 407: { "fh", "hook", ((char *)0) }, ! 408: { "PA", "pause", ((char *)0) }, ! 409: { "WA", "wait", ((char *)0) }, ! 410: { "u0", "u0", ((char *)0) }, ! 411: { "u1", "u1", ((char *)0) }, ! 412: { "u2", "u2", ((char *)0) }, ! 413: { "u3", "u3", ((char *)0) }, ! 414: { "u4", "u4", ((char *)0) }, ! 415: { "u5", "u5", ((char *)0) }, ! 416: { "u6", "u6", ((char *)0) }, ! 417: { "u7", "u7", ((char *)0) }, ! 418: { "u8", "u8", ((char *)0) }, ! 419: { "u9", "u9", ((char *)0) }, ! 420: { "op", "op", ((char *)0) }, ! 421: { "oc", "oc", ((char *)0) }, ! 422: { "Ic", "initc", ((char *)0) }, ! 423: { "Ip", "initp", ((char *)0) }, ! 424: { "sp", "scp", ((char *)0) }, ! 425: { "Sf", "setf", ((char *)0) }, ! 426: { "Sb", "setb", ((char *)0) }, ! 427: { "ZA", "cpi", ((char *)0) }, ! 428: { "ZB", "lpi", ((char *)0) }, ! 429: { "ZC", "chr", ((char *)0) }, ! 430: { "ZD", "cvr", ((char *)0) }, ! 431: { "dc", "defc", ((char *)0) }, ! 432: { "ZF", "swidm", ((char *)0) }, ! 433: { "ZG", "sdrfq", ((char *)0) }, ! 434: { "ZH", "sitm", ((char *)0) }, ! 435: { "ZI", "slm", ((char *)0) }, ! 436: { "ZJ", "smicm", ((char *)0) }, ! 437: { "ZK", "snlq", ((char *)0) }, ! 438: { "ZL", "snrmq", ((char *)0) }, ! 439: { "ZM", "sshm", ((char *)0) }, ! 440: { "ZN", "ssubm", ((char *)0) }, ! 441: { "ZO", "ssupm", ((char *)0) }, ! 442: { "ZP", "sum", ((char *)0) }, ! 443: { "ZQ", "rwidm", ((char *)0) }, ! 444: { "ZR", "ritm", ((char *)0) }, ! 445: { "ZS", "rlm", ((char *)0) }, ! 446: { "ZT", "rmicm", ((char *)0) }, ! 447: { "ZU", "rshm", ((char *)0) }, ! 448: { "ZV", "rsubm", ((char *)0) }, ! 449: { "ZW", "rsupm", ((char *)0) }, ! 450: { "ZX", "rum", ((char *)0) }, ! 451: { "ZY", "mhpa", ((char *)0) }, ! 452: { "ZZ", "mcud1", ((char *)0) }, ! 453: { "Za", "mcub1", ((char *)0) }, ! 454: { "Zb", "mcuf1", ((char *)0) }, ! 455: { "Zc", "mvpa", ((char *)0) }, ! 456: { "Zd", "mcuu1", ((char *)0) }, ! 457: { "Ze", "porder", ((char *)0) }, ! 458: { "Zf", "mcud", ((char *)0) }, ! 459: { "Zg", "mcub", ((char *)0) }, ! 460: { "Zh", "mcuf", ((char *)0) }, ! 461: { "Zi", "mcuu", ((char *)0) }, ! 462: { "Zj", "scs", ((char *)0) }, ! 463: { "Zk", "smgb", ((char *)0) }, ! 464: { "Zl", "smgbp", ((char *)0) }, ! 465: { "Zm", "smglp", ((char *)0) }, ! 466: { "Zn", "smgrp", ((char *)0) }, ! 467: { "Zo", "smgt", ((char *)0) }, ! 468: { "Zp", "smgtp", ((char *)0) }, ! 469: { "Zq", "sbim", ((char *)0) }, ! 470: { "Zr", "scsd", ((char *)0) }, ! 471: { "Zs", "rbim", ((char *)0) }, ! 472: { "Zt", "rcsd", ((char *)0) }, ! 473: { "Zu", "subcs", ((char *)0) }, ! 474: { "Zv", "supcs", ((char *)0) }, ! 475: { "Zw", "docr", ((char *)0) }, ! 476: { "Zx", "zerom", ((char *)0) }, ! 477: { "Zy", "csnm", ((char *)0) }, ! 478: }; ! 479: ! 480: #define MAXSTRS MAXINDEX(strcaps) ! 481: ! 482: /* ! 483: * print_name: ! 484: * print name and aliases of current termcap entry. ! 485: */ ! 486: print_name () ! 487: { ! 488: char name[100]; ! 489: ! 490: tgetname (name); ! 491: printf ("%s,\n", name); ! 492: } ! 493: ! 494: /* ! 495: * print_bools: ! 496: * print all boolean fields of current termcap entry. ! 497: */ ! 498: print_bools () ! 499: { ! 500: int i, val; ! 501: bool stuffprinted = FALSE; ! 502: ! 503: for (i = 0; i < MAXBOOLS; i++) ! 504: if (val = tgetflag (boolcaps[i].capname)) { ! 505: if (val == 1) ! 506: printf ("\t%s,", boolcaps[i].infoname); ! 507: else ! 508: printf ("\t%s@,", boolcaps[i].infoname); ! 509: stuffprinted = TRUE; ! 510: } ! 511: if (stuffprinted) ! 512: (void) putchar ('\n'); ! 513: } ! 514: ! 515: /* ! 516: * print_nums: ! 517: * print all numeric fields of current termcap entry. ! 518: */ ! 519: print_nums () ! 520: { ! 521: int i, capval; ! 522: bool stuffprinted = FALSE; ! 523: ! 524: for (i = 0; i < MAXNUMS; i++) ! 525: if ((capval = tgetnum (numcaps[i].capname)) >= 0) { ! 526: printf ("\t%s#%d,", numcaps[i].infoname, capval); ! 527: stuffprinted = TRUE; ! 528: } ! 529: else if (capval == -2) { ! 530: printf ("\t%s@,", numcaps[i].infoname); ! 531: stuffprinted = TRUE; ! 532: } ! 533: if (stuffprinted) ! 534: (void) putchar ('\n'); ! 535: } ! 536: ! 537: /* ! 538: * print_strs: ! 539: * print all string fields of current termcap entry. ! 540: */ ! 541: print_strs () ! 542: { ! 543: int i, count = 0; ! 544: char capval[100]; ! 545: ! 546: for (i = 0; i < MAXSTRS; i++) { ! 547: tgetstr (strcaps[i].capname, capval); ! 548: if (!capval[0]) { ! 549: if (strcmp (strcaps[i].capname, "le") == 0) { ! 550: tgetstr ("bc", capval); ! 551: } ! 552: else if (strcmp (strcaps[i].capname, "ta") == 0) { ! 553: if (tgetflag ("pt")) { ! 554: capval[0] = '\t'; ! 555: capval[1] = '\0'; ! 556: } ! 557: } ! 558: } ! 559: if ((!capval[0]) && (strcaps[i].dflt)) ! 560: (void) strcpy (capval, strcaps[i].dflt); ! 561: if (capval[0]) { ! 562: if (strcmp (capval, "@") != 0) { ! 563: printf ("\t%s=", strcaps[i].infoname); ! 564: if (strcmp(strcaps[i].infoname,"use") != 0) { ! 565: put_str (capval); ! 566: printf (","); ! 567: } ! 568: else ! 569: printf ("%s,", capval); ! 570: } ! 571: else ! 572: printf ("\t%s@,", strcaps[i].infoname); ! 573: count++; ! 574: if (!(count %= 3)) ! 575: putchar ('\n'); ! 576: } ! 577: } ! 578: if (count) ! 579: (void) putchar ('\n'); ! 580: } ! 581: ! 582: /* ! 583: * put_str: ! 584: * translate strings to printable format and print them. ! 585: */ ! 586: put_str (s) ! 587: char *s; ! 588: { ! 589: bool rflag = FALSE; /* % codes */ ! 590: char *c; ! 591: int parm; ! 592: ! 593: if ((isdigit (*s)) || (*s == '.')) { /* handle padding */ ! 594: printf ("$<"); ! 595: while ((isdigit (*s)) || (*s == '.')) { ! 596: (void) putchar (*s); ! 597: s++; ! 598: } ! 599: if (*s == '*') { ! 600: (void) putchar (*s); ! 601: s++; ! 602: } ! 603: (void) putchar ('>'); ! 604: } ! 605: for (c = s; *c; c++) { /* scan for % codes (needs work) */ ! 606: if (*c == '%') { ! 607: c++; ! 608: switch (*c) { ! 609: case 'r': ! 610: rflag = TRUE; ! 611: break; ! 612: default: ! 613: break; /* ignore */ ! 614: } ! 615: } ! 616: } ! 617: parm = 0; ! 618: while (*s) { /* print the string */ ! 619: switch (*s) { ! 620: case '%': ! 621: s++; ! 622: switch (*s) { ! 623: case '%': ! 624: printf ("%%%%"); ! 625: break; ! 626: case 'i': ! 627: printf ("%%i"); ! 628: break; ! 629: case 'd': ! 630: parm++; ! 631: if ((rflag) && (parm <= 2)) { ! 632: if (parm == 1) ! 633: printf ("%%p2%%d"); ! 634: else ! 635: printf ("%%p1%%d"); ! 636: } ! 637: else ! 638: printf ("%%p%d%%d", parm); ! 639: break; ! 640: case '2': ! 641: parm++; ! 642: if ((rflag) && (parm <= 2)) { ! 643: if (parm == 1) ! 644: printf ("%%p2%%02d"); ! 645: else ! 646: printf ("%%p1%%02d"); ! 647: } ! 648: else ! 649: printf ("%%p%d%%02d", parm); ! 650: break; ! 651: case '3': ! 652: parm++; ! 653: if ((rflag) && (parm <= 2)) { ! 654: if (parm == 1) ! 655: printf ("%%p2%%03d"); ! 656: else ! 657: printf ("%%p1%%03d"); ! 658: } ! 659: else ! 660: printf ("%%p%d%%03d", parm); ! 661: break; ! 662: case '.': ! 663: parm++; ! 664: if ((rflag) && (parm <= 2)) { ! 665: if (parm == 1) ! 666: printf ("%%p2%%c"); ! 667: else ! 668: printf ("%%p1%%c"); ! 669: } ! 670: else ! 671: printf ("%%p%d%%c", parm); ! 672: break; ! 673: case '+': ! 674: s++; ! 675: parm++; ! 676: if ((rflag) && (parm <= 2)) { ! 677: if (parm == 1) ! 678: printf ("%%p2%%'%c'%%+%%c", *s); ! 679: else ! 680: printf ("%%p1%%'%c'%%+%%c", *s); ! 681: } ! 682: else ! 683: printf ("%%p%d%%'%c'%%+%%c", parm, *s); ! 684: break; ! 685: default: ! 686: break; /* ignore */ ! 687: } ! 688: break; ! 689: case '\200': ! 690: printf ("\\0"); ! 691: break; ! 692: case '\177': ! 693: printf ("^?"); ! 694: break; ! 695: case ',': ! 696: printf ("\\,"); ! 697: break; ! 698: case '\\': ! 699: printf ("\\\\"); ! 700: break; ! 701: case '^': ! 702: printf ("\^"); ! 703: break; ! 704: case ':': ! 705: printf ("\\:"); ! 706: break; ! 707: case '\033': ! 708: printf ("\\E"); ! 709: break; ! 710: case '\n': ! 711: printf ("\\n"); ! 712: break; ! 713: case '\r': ! 714: printf ("\\r"); ! 715: break; ! 716: case '\t': ! 717: printf ("\\t"); ! 718: break; ! 719: case '\b': ! 720: printf ("\\b"); ! 721: break; ! 722: case '\f': ! 723: printf ("\\f"); ! 724: break; ! 725: case ' ': ! 726: printf ("\\s"); ! 727: break; ! 728: default: ! 729: if (*s < ' ') ! 730: printf ("^%c", *s + 'A' - 1); ! 731: else ! 732: (void) putchar (*s); ! 733: break; ! 734: } ! 735: s++; ! 736: } ! 737: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.