diff options
author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2015-01-31 22:26:04 +0000 |
---|---|---|
committer | <> | 2015-02-09 14:16:45 +0000 |
commit | f6d73a10a980bc78969c3af93665cbe7d06c3646 (patch) | |
tree | 83f9bf86268881f01478c2a7f8f5186b2c8db3d3 /progs/tparm_type.c | |
parent | 280cceada215debbf561bcec9780630ddad28b37 (diff) | |
download | ncurses-f6d73a10a980bc78969c3af93665cbe7d06c3646.tar.gz |
Imported from /home/lorry/working-area/delta_ncurses/ncurses-5.9-20150131.tgz.ncurses-5.9-20150131
Diffstat (limited to 'progs/tparm_type.c')
-rw-r--r-- | progs/tparm_type.c | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/progs/tparm_type.c b/progs/tparm_type.c new file mode 100644 index 0000000..26eee69 --- /dev/null +++ b/progs/tparm_type.c @@ -0,0 +1,68 @@ +/**************************************************************************** + * Copyright (c) 1998-2012,2013 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 * + * "Software"), to deal in the Software without restriction, including * + * without limitation the rights to use, copy, modify, merge, publish, * + * distribute, distribute with modifications, sublicense, and/or sell * + * copies of the Software, and to permit persons to whom the Software is * + * furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included * + * in all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * + * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * + * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * + * * + * Except as contained in this notice, the name(s) of the above copyright * + * holders shall not be used in advertising or otherwise to promote the * + * sale, use or other dealings in this Software without prior written * + * authorization. * + ****************************************************************************/ + +/**************************************************************************** + * Author: Thomas E. Dickey * + ****************************************************************************/ + +#include <tparm_type.h> + +MODULE_ID("$Id: tparm_type.c,v 1.1 2014/05/21 16:50:57 tom Exp $") + +/* + * Lookup the type of call we should make to tparm(). This ignores the actual + * terminfo capability (bad, because it is not extensible), but makes this + * code portable to platforms where sizeof(int) != sizeof(char *). + */ +TParams +tparm_type(const char *name) +{ +#define TD(code, longname, ti, tc) {code,longname},{code,ti},{code,tc} + TParams result = Numbers; + /* *INDENT-OFF* */ + static const struct { + TParams code; + const char *name; + } table[] = { + TD(Num_Str, "pkey_key", "pfkey", "pk"), + TD(Num_Str, "pkey_local", "pfloc", "pl"), + TD(Num_Str, "pkey_xmit", "pfx", "px"), + TD(Num_Str, "plab_norm", "pln", "pn"), + TD(Num_Str_Str, "pkey_plab", "pfxl", "xl"), + }; + /* *INDENT-ON* */ + + unsigned n; + for (n = 0; n < SIZEOF(table); n++) { + if (!strcmp(name, table[n].name)) { + result = table[n].code; + break; + } + } + return result; +} |