X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=progs%2Freset_cmd.c;h=a4e44efc0f572b9d8abf572bdbe27684ce78ccfa;hp=8614bf7842fac3a1e907eb4f6090367952c2e40d;hb=b60a2772d9f149d8e900c1d5a09a53a56a0837a8;hpb=62ca6190a9a8ddccb2c4d5ca7b2ef9f88432da65 diff --git a/progs/reset_cmd.c b/progs/reset_cmd.c index 8614bf78..a4e44efc 100644 --- a/progs/reset_cmd.c +++ b/progs/reset_cmd.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 2016 Free Software Foundation, Inc. * + * Copyright (c) 2016,2017 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 * @@ -52,7 +52,7 @@ #include #endif -MODULE_ID("$Id: reset_cmd.c,v 1.11 2016/12/24 23:20:57 tom Exp $") +MODULE_ID("$Id: reset_cmd.c,v 1.13 2017/10/07 20:56:03 tom Exp $") /* * SCO defines TIOCGSIZE and the corresponding struct. Other systems (SunOS, @@ -80,25 +80,15 @@ static bool use_reset = FALSE; /* invoked as reset */ static bool use_init = FALSE; /* invoked as init */ static void -exit_error(void) +failed(const char *msg) { + int code = errno; + + (void) fprintf(stderr, "%s: %s: %s\n", _nc_progname, msg, strerror(code)); restore_tty_settings(); (void) fprintf(my_file, "\n"); fflush(my_file); - ExitProgram(EXIT_FAILURE); - /* NOTREACHED */ -} - -static void -failed(const char *msg) -{ - char temp[BUFSIZ]; - - _nc_STRCPY(temp, _nc_progname, sizeof(temp)); - _nc_STRCAT(temp, ": ", sizeof(temp)); - _nc_STRNCAT(temp, msg, sizeof(temp), sizeof(temp) - strlen(temp) - 2); - perror(temp); - exit_error(); + ExitProgram(ErrSystem(code)); /* NOTREACHED */ } @@ -496,17 +486,23 @@ send_init_strings(int fd GCC_UNUSED, TTY * old_settings) ? reset_2string : init_2string); +#if defined(set_lr_margin) if (set_lr_margin != 0) { need_flush |= sent_string(TPARM_2(set_lr_margin, 0, columns - 1)); - } else if (set_left_margin_parm != 0 - && set_right_margin_parm != 0) { + } else +#endif +#if defined(set_left_margin_parm) && defined(set_right_margin_parm) + if (set_left_margin_parm != 0 + && set_right_margin_parm != 0) { need_flush |= sent_string(TPARM_1(set_left_margin_parm, 0)); need_flush |= sent_string(TPARM_1(set_right_margin_parm, columns - 1)); - } else if (clear_margins != 0 - && set_left_margin != 0 - && set_right_margin != 0) { + } else +#endif + if (clear_margins != 0 + && set_left_margin != 0 + && set_right_margin != 0) { need_flush |= sent_string(clear_margins); if (carriage_return != 0) { need_flush |= sent_string(carriage_return);