ncurses 6.2 - patch 20200531
[ncurses.git] / progs / reset_cmd.c
index c5d96a2e82ce4f041d70267958f9f3be370968df..2e118ae58bae9ad55b10cf47a950cd165e74f0f1 100644 (file)
@@ -1,5 +1,6 @@
 /****************************************************************************
- * Copyright (c) 2016-2017,2019 Free Software Foundation, Inc.              *
+ * Copyright 2019,2020 Thomas E. Dickey                                     *
+ * Copyright 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 +53,7 @@
 #include <sys/ptem.h>
 #endif
 
-MODULE_ID("$Id: reset_cmd.c,v 1.17 2019/05/25 22:36:53 tom Exp $")
+MODULE_ID("$Id: reset_cmd.c,v 1.21 2020/05/27 23:46:20 tom Exp $")
 
 /*
  * SCO defines TIOCGSIZE and the corresponding struct.  Other systems (SunOS,
@@ -495,29 +496,29 @@ send_init_strings(int fd GCC_UNUSED, TTY * old_settings)
                                  ? reset_2string
                                  : init_2string);
 
+       if (VALID_STRING(clear_margins)) {
+           need_flush |= sent_string(clear_margins);
+       } else
 #if defined(set_lr_margin)
        if (VALID_STRING(set_lr_margin)) {
-           need_flush |= sent_string(TPARM_2(set_lr_margin, 0,
-                                             columns - 1));
+           need_flush |= sent_string(TIPARM_2(set_lr_margin, 0, columns - 1));
        } else
 #endif
 #if defined(set_left_margin_parm) && defined(set_right_margin_parm)
            if (VALID_STRING(set_left_margin_parm)
                && VALID_STRING(set_right_margin_parm)) {
-           need_flush |= sent_string(TPARM_1(set_left_margin_parm, 0));
-           need_flush |= sent_string(TPARM_1(set_right_margin_parm,
-                                             columns - 1));
+           need_flush |= sent_string(TIPARM_1(set_left_margin_parm, 0));
+           need_flush |= sent_string(TIPARM_1(set_right_margin_parm,
+                                              columns - 1));
        } else
 #endif
-           if (VALID_STRING(clear_margins)
-               && VALID_STRING(set_left_margin)
+           if (VALID_STRING(set_left_margin)
                && VALID_STRING(set_right_margin)) {
-           need_flush |= sent_string(clear_margins);
            need_flush |= to_left_margin();
            need_flush |= sent_string(set_left_margin);
            if (VALID_STRING(parm_right_cursor)) {
-               need_flush |= sent_string(TPARM_1(parm_right_cursor,
-                                                 columns - 1));
+               need_flush |= sent_string(TIPARM_1(parm_right_cursor,
+                                                  columns - 1));
            } else {
                for (i = 0; i < columns - 1; i++) {
                    out_char(' ');