X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=include%2Fcapdefaults.c;h=da76cc1d7a57d8d7fad3679cd70c21e31888f710;hp=1e2261576adf1303dc579952cdd17eff6e68ee8f;hb=b0916ab669030bac5c8590c0d66e36e1b9b34e9b;hpb=661078ddbde3ce0f3b06e95642fbb9b5fef7dca1 diff --git a/include/capdefaults.c b/include/capdefaults.c index 1e226157..da76cc1d 100644 --- a/include/capdefaults.c +++ b/include/capdefaults.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998 Free Software Foundation, Inc. * + * Copyright (c) 1998-2000,2008 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 * @@ -29,59 +29,58 @@ /**************************************************************************** * Author: Zeyd M. Ben-Halim 1992,1995 * * and: Eric S. Raymond * + * and: Thomas E. Dickey 1996-on * ****************************************************************************/ -/* $Id: capdefaults.c,v 1.7 1998/02/11 12:13:45 tom Exp $ */ +/* $Id: capdefaults.c,v 1.14 2008/11/16 00:19:59 juergen Exp $ */ - /* - * Compute obsolete capabilities. The reason this is an include file - * is that the two places where it's needed want the macros to - * generate offsets to different structures. See the file Caps for - * explanations of these conversions. - * - * Note: This code is the functional inverse of the first part - * of postprocess_entry(). - */ - { - char *sp; - int capval; + /* + * Compute obsolete capabilities. The reason this is an include file is + * that the two places where it's needed want the macros to generate + * offsets to different structures. See the file Caps for explanations of + * these conversions. + * + * Note: This code is the functional inverse of the first part of + * postprocess_termcap(). + */ +{ + char *strp; + short capval; -#define EXTRACT_DELAY(str) (sp = strchr(str, '*'), sp ? atoi(sp+1) : 0) +#define EXTRACT_DELAY(str) \ + (short) (strp = strchr(str, '*'), strp ? atoi(strp+1) : 0) - /* current (4.4BSD) capabilities marked obsolete */ - if (VALID_STRING(carriage_return) - && (capval = EXTRACT_DELAY(carriage_return))) - carriage_return_delay = capval; - if (VALID_STRING(newline) && (capval = EXTRACT_DELAY(newline))) - new_line_delay = capval; + /* current (4.4BSD) capabilities marked obsolete */ + if (VALID_STRING(carriage_return) + && (capval = EXTRACT_DELAY(carriage_return))) + carriage_return_delay = capval; + if (VALID_STRING(newline) && (capval = EXTRACT_DELAY(newline))) + new_line_delay = capval; - /* current (4.4BSD) capabilities not obsolete */ - if (!VALID_STRING(termcap_init2) && VALID_STRING(init_3string)) - { - termcap_init2 = init_3string; - init_3string = (char *)NULL; - } - if (VALID_STRING(reset_1string) - && !VALID_STRING(reset_2string) - && VALID_STRING(reset_3string)) - { - termcap_reset = reset_1string; - reset_1string = (char *)NULL; - } -#if USE_XMC_SUPPORT - if (magic_cookie_glitch_ul < 0 && magic_cookie_glitch && VALID_STRING(enter_underline_mode)) - magic_cookie_glitch_ul = magic_cookie_glitch; -#else - magic_cookie_glitch_ul = -1; -#endif + /* current (4.4BSD) capabilities not obsolete */ + if (!VALID_STRING(termcap_init2) && VALID_STRING(init_3string)) { + termcap_init2 = init_3string; + init_3string = ABSENT_STRING; + } + if (!VALID_STRING(termcap_reset) + && VALID_STRING(reset_2string) + && !VALID_STRING(reset_1string) + && !VALID_STRING(reset_3string)) { + termcap_reset = reset_2string; + reset_2string = ABSENT_STRING; + } + if (magic_cookie_glitch_ul == ABSENT_NUMERIC + && magic_cookie_glitch != ABSENT_NUMERIC + && VALID_STRING(enter_underline_mode)) + magic_cookie_glitch_ul = magic_cookie_glitch; - /* totally obsolete capabilities */ - linefeed_is_newline = VALID_STRING(newline) - && (strcmp("\n", newline) == 0); - if (VALID_STRING(cursor_left) - && (capval = EXTRACT_DELAY(cursor_left))) - backspace_delay = capval; - if (VALID_STRING(tab) && (capval = EXTRACT_DELAY(tab))) - horizontal_tab_delay = capval; + /* totally obsolete capabilities */ + linefeed_is_newline = (char) (VALID_STRING(newline) + && (strcmp("\n", newline) == 0)); + if (VALID_STRING(cursor_left) + && (capval = EXTRACT_DELAY(cursor_left))) + backspace_delay = capval; + if (VALID_STRING(tab) && (capval = EXTRACT_DELAY(tab))) + horizontal_tab_delay = capval; #undef EXTRACT_DELAY - } +}