* Bug 16190 fixed: console width was fixed at 75 in nw and nwni mode 86/21086/8
St├ęphane MOTTELET [Fri, 13 Sep 2019 09:47:13 +0000 (11:47 +0200)]
https://bugzilla.scilab.org/show_bug.cgi?id=16190

Change-Id: Ia214e57b8f3cae2d56c198b0537889d2b877eedc

scilab/CHANGES.md
scilab/modules/ast/src/cpp/system_env/configvariable.cpp

index 3729e5b..4b63b17 100644 (file)
@@ -297,6 +297,7 @@ Bug Fixes
 * [#16174](http://bugzilla.scilab.org/show_bug.cgi?id=16174): `libraryinfo` yielded 0x0 matrix of strings for libs without macro
 * [#16177](http://bugzilla.scilab.org/show_bug.cgi?id=16177): In the uicontrol help page, the first example was bugged.
 * [#16178](http://bugzilla.scilab.org/show_bug.cgi?id=16178): `sci2exp` yielded an error for any input macro without output argument.
+* [#16190](http://bugzilla.scilab.org/show_bug.cgi?id=16190): console width was fixed at 75 in nw and nwni mode regardless of terminal width.
 * [#16197](http://bugzilla.scilab.org/show_bug.cgi?id=16197): result of extraction was not decomplexified when applicable.
 * [#16199](http://bugzilla.scilab.org/show_bug.cgi?id=16199): In the documentation, `zpk2tf` and `zpk2ss` examples yielded an error.
 * [#16200](http://bugzilla.scilab.org/show_bug.cgi?id=16200): Concatenation of transposed cells crashed Scilab.
index 89c746a..e27d008 100644 (file)
@@ -32,6 +32,9 @@ extern "C"
 #include "os_string.h"
 #include "sci_malloc.h"
 #include "strsubst.h"
+#ifdef HAVE_TERMCAP_H
+#include <termcap.h>
+#endif
 }
 
 /*
@@ -199,7 +202,22 @@ void ConfigVariable::setConsoleWidth(int _iConsoleWidth)
 
 int ConfigVariable::getConsoleWidth(void)
 {
+#ifndef _MSC_VER
+    if (getScilabMode() == SCILAB_NWNI || getScilabMode() == SCILAB_NW)
+    {
+        char tc_buf[1024];       /* holds termcap buffer */
+        if (tgetent(tc_buf, getenv("TERM")) == 1)
+        {
+            return tgetnum((char *)"co");
+        }
+        else
+        {
+            return m_iConsoleWidth;
+        }
+    }    
+#else
     return m_iConsoleWidth;
+#endif
 }
 /*
 ** \}