--- /dev/null
+From c13180cb2bead49addb00f33f4999200cbbd801f Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: Wed, 26 Feb 2020 10:16:14 +0100
+Subject: [PATCH] fix static linking with ncurses
+
+Prefix LINES and COLS with MINICOM_ to avoid the following build failure
+when building statically with ncurses:
+
+/home/giuliobenetti/autobuild/run/instance-1/output-1/per-package/minicom/host/bin/arm-linux-gcc -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -static -W -Wall -Wextra -std=gnu99 -fno-common -Wno-format-truncation -static -o minicom minicom.o vt100.o config.o help.o updown.o util.o dial.o window.o wkeys.o ipc.o windiv.o sysdep1.o sysdep1_s.o sysdep2.o rwconf.o main.o file.o getsdir.o wildmat.o common.o ../lib/libport.a -lncurses
+/home/giuliobenetti/autobuild/run/instance-1/output-1/per-package/minicom/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: /home/giuliobenetti/autobuild/run/instance-1/output-1/per-package/minicom/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libncurses.a(lib_setup.o):(.bss+0x100): multiple definition of `COLS'; window.o:(.bss+0x38): first defined here
+/home/giuliobenetti/autobuild/run/instance-1/output-1/per-package/minicom/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: /home/giuliobenetti/autobuild/run/instance-1/output-1/per-package/minicom/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libncurses.a(lib_setup.o):(.bss+0x104): multiple definition of `LINES'; window.o:(.bss+0x3c): first defined here
+collect2: error: ld returned 1 exit status
+Makefile:448: recipe for target 'minicom' failed
+
+Fixes:
+ - http://autobuild.buildroot.org/results/d3edbab1f2cd0f7b790e2559dc8d489497ae02f3
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+[Upstream status: sent to minicom-devel@lists.alioth.debian.org]
+---
+ src/config.c | 8 ++--
+ src/dial.c | 10 ++---
+ src/file.c | 8 ++--
+ src/help.c | 4 +-
+ src/main.c | 68 ++++++++++++++++-----------------
+ src/minicom.c | 2 +-
+ src/vt100.c | 2 +-
+ src/windiv.c | 8 ++--
+ src/window.c | 102 +++++++++++++++++++++++++-------------------------
+ src/window.h | 2 +-
+ 10 files changed, 107 insertions(+), 107 deletions(-)
+
+diff --git a/src/config.c b/src/config.c
+index 87901f0..3c26f9f 100644
+--- a/src/config.c
++++ b/src/config.c
+@@ -1078,7 +1078,7 @@ static void doscrkeyb(void)
+ } else {
+ psets(P_STATLINE, N_("enabled"));
+ /* See if it fits on screen */
+- if (LINES > 24)
++ if (MINICOM_LINES > 24)
+ tempst = 0;
+ }
+ mc_wlocate(w, mbswidth(status_line) + 1, 2);
+@@ -1140,7 +1140,7 @@ static void doscrkeyb(void)
+
+ if (st) {
+ mc_wclose(st,0);
+- st = mc_wopen(0, LINES - 1, COLS - 1, LINES - 1, BNONE,
++ st = mc_wopen(0, MINICOM_LINES - 1, MINICOM_COLS - 1, MINICOM_LINES - 1, BNONE,
+ XA_NORMAL, sfcolor, sbcolor, 1, 0, 1);
+ show_status();
+ }
+@@ -1159,7 +1159,7 @@ static void doscrkeyb(void)
+
+ if (st) {
+ mc_wclose(st,0);
+- st = mc_wopen(0, LINES - 1, COLS - 1, LINES - 1, BNONE,
++ st = mc_wopen(0, MINICOM_LINES - 1, MINICOM_COLS - 1, MINICOM_LINES - 1, BNONE,
+ XA_NORMAL, sfcolor, sbcolor, 1, 0, 0);
+ show_status();
+ }
+@@ -1326,7 +1326,7 @@ int dotermmenu(void)
+ } else {
+ psets(P_STATLINE, N_("enabled"));
+ /* See if it fits on screen */
+- if (LINES > 24 || use_status)
++ if (MINICOM_LINES > 24 || use_status)
+ tempst = 0;
+ }
+ mc_wlocate(w, mbswidth(status_line) + 1, 3);
+diff --git a/src/dial.c b/src/dial.c
+index 5076b32..5ef7ac3 100644
+--- a/src/dial.c
++++ b/src/dial.c
+@@ -1575,7 +1575,7 @@ void dialdir(void)
+ *move_exit = N_(" Move entry up/down, Escape to exit");
+ unsigned int tagmvlen = 0;
+ size_t i;
+- int position_dialing_directory = ((COLS / 2) + 32 - DIALOPTS * DIAL_WIDTH) / 2;
++ int position_dialing_directory = ((MINICOM_COLS / 2) + 32 - DIALOPTS * DIAL_WIDTH) / 2;
+
+ dprev = -1;
+ dname[0] = 0;
+@@ -1586,11 +1586,11 @@ void dialdir(void)
+ /* Alright, draw the dialing directory! */
+
+ dirflush = 0;
+- x1 = (COLS / 2) - 37;
+- x2 = (COLS / 2) + 37;
+- dsub = mc_wopen(x1 - 1, LINES - 3, x2 + 1, LINES - 3, BNONE,
++ x1 = (MINICOM_COLS / 2) - 37;
++ x2 = (MINICOM_COLS / 2) + 37;
++ dsub = mc_wopen(x1 - 1, MINICOM_LINES - 3, x2 + 1, MINICOM_LINES - 3, BNONE,
+ XA_REVERSE | stdattr, mfcolor, mbcolor, 0, 0, 1);
+- w = mc_wopen(x1, 2, x2, LINES - 6, BSINGLE, stdattr, mfcolor, mbcolor, 0, 0, 1);
++ w = mc_wopen(x1, 2, x2, MINICOM_LINES - 6, BSINGLE, stdattr, mfcolor, mbcolor, 0, 0, 1);
+ mc_wcursor(w, CNONE);
+ mc_wtitle(w, TMID, _("Dialing Directory"));
+ mc_wputs(w,
+diff --git a/src/file.c b/src/file.c
+index be26afd..7c208a7 100644
+--- a/src/file.c
++++ b/src/file.c
+@@ -491,11 +491,11 @@ static void init_filedir(void)
+ int x1, x2;
+
+ dirflush = 0;
+- x1 = (COLS / 2) - 37;
+- x2 = (COLS / 2) + 37;
+- dsub = mc_wopen(x1 - 1, LINES - 3, x2 + 1, LINES - 3, BNONE,
++ x1 = (MINICOM_COLS / 2) - 37;
++ x2 = (MINICOM_COLS / 2) + 37;
++ dsub = mc_wopen(x1 - 1, MINICOM_LINES - 3, x2 + 1, MINICOM_LINES - 3, BNONE,
+ stdattr, mfcolor, mbcolor, 0, 0, 1);
+- main_w = mc_wopen(x1, 2, x2, LINES - 6, BSINGLE, stdattr, mfcolor,
++ main_w = mc_wopen(x1, 2, x2, MINICOM_LINES - 6, BSINGLE, stdattr, mfcolor,
+ mbcolor, 0, 0, 1);
+
+ if (ret_buf == NULL) {
+diff --git a/src/help.c b/src/help.c
+index 70cf8c6..3036d0a 100644
+--- a/src/help.c
++++ b/src/help.c
+@@ -34,8 +34,8 @@ int help(void)
+ const char *s;
+ char buf[40];
+
+- x1 = (COLS / 2) - 34;
+- x2 = (COLS / 2) + 32;
++ x1 = (MINICOM_COLS / 2) - 34;
++ x2 = (MINICOM_COLS / 2) + 32;
+ w = mc_wopen(x1, 2, x2, 18, BDOUBLE, stdattr, mfcolor, mbcolor, 0, 0, 1);
+
+ s = _("Minicom Command Summary");
+diff --git a/src/main.c b/src/main.c
+index 85bd4a5..8f8e8f7 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -485,17 +485,17 @@ void init_emul(int type, int do_init)
+ }
+
+ /* See if we have space for a fixed status line */
+- maxy = LINES - 1;
+- if ((use_status || LINES > 24) &&
++ maxy = MINICOM_LINES - 1;
++ if ((use_status || MINICOM_LINES > 24) &&
+ P_STATLINE[0] == 'e') {
+ if (use_status) {
+- ypos = LINES;
+- maxy = LINES - 1;
++ ypos = MINICOM_LINES;
++ maxy = MINICOM_LINES - 1;
+ } else {
+- ypos = LINES - 1;
+- maxy = LINES - 2;
++ ypos = MINICOM_LINES - 1;
++ maxy = MINICOM_LINES - 2;
+ }
+- st = mc_wopen(0, ypos, COLS - 1, ypos, BNONE,
++ st = mc_wopen(0, ypos, MINICOM_COLS - 1, ypos, BNONE,
+ st_attr, sfcolor, sbcolor, 1, 0, 1);
+ mc_wredraw(st, 1);
+ }
+@@ -508,7 +508,7 @@ void init_emul(int type, int do_init)
+ num_hist_lines = 5000;
+
+ /* Open a new main window, and define the configured history buffer size. */
+- us = mc_wopen(0, 0, COLS - 1, maxy,
++ us = mc_wopen(0, 0, MINICOM_COLS - 1, maxy,
+ BNONE, XA_NORMAL, tfcolor, tbcolor, 1, num_hist_lines, 0);
+
+ if (x >= 0) {
+@@ -520,8 +520,8 @@ void init_emul(int type, int do_init)
+ us->wrap = wrapln;
+
+ terminal = type;
+- lines = LINES - (st != NULL);
+- cols = COLS;
++ lines = MINICOM_LINES - (st != NULL);
++ cols = MINICOM_COLS;
+
+ /* Install and reset the terminal emulator. */
+ if (do_init) {
+@@ -583,10 +583,10 @@ static void show_status_fmt(const char *fmt)
+ if (!st)
+ return;
+
+- char buf[COLS];
++ char buf[MINICOM_COLS];
+ int bufi = 0;
+ int l = strlen(fmt);
+- for (int i = 0; i < l && bufi < COLS; ++i)
++ for (int i = 0; i < l && bufi < MINICOM_COLS; ++i)
+ {
+ if (fmt[i] == '%' && i + 1 < l)
+ {
+@@ -596,70 +596,70 @@ static void show_status_fmt(const char *fmt)
+ switch (func)
+ {
+ case '%':
+- bufi += snprintf(buf + bufi, COLS - bufi, "%%");
++ bufi += snprintf(buf + bufi, MINICOM_COLS - bufi, "%%");
+ break;
+ case 'H':
+- bufi += snprintf(buf + bufi, COLS - bufi, "%sZ", esc_key());
++ bufi += snprintf(buf + bufi, MINICOM_COLS - bufi, "%sZ", esc_key());
+ break;
+ case 'V':
+- bufi += snprintf(buf + bufi, COLS - bufi, "%s", VERSION);
++ bufi += snprintf(buf + bufi, MINICOM_COLS - bufi, "%s", VERSION);
+ break;
+ case 'b':
+ #ifdef USE_SOCKET
+ if (portfd_is_socket == Socket_type_unix)
+- bufi += snprintf(buf + bufi, COLS - bufi, "unix-socket");
++ bufi += snprintf(buf + bufi, MINICOM_COLS - bufi, "unix-socket");
+ else if (portfd_is_socket == Socket_type_tcp)
+- bufi += snprintf(buf + bufi, COLS - bufi, "TCP");
++ bufi += snprintf(buf + bufi, MINICOM_COLS - bufi, "TCP");
+ else
+ #endif /* USE_SOCKET */
+ {
+ if (P_SHOWSPD[0] == 'l')
+- bufi += snprintf(buf + bufi, COLS - bufi, "%6ld", linespd);
++ bufi += snprintf(buf + bufi, MINICOM_COLS - bufi, "%6ld", linespd);
+ else
+- bufi += snprintf(buf + bufi, COLS - bufi, "%s", P_BAUDRATE);
+- bufi += snprintf(buf + bufi, COLS - bufi, " %s%s%s", P_BITS, P_PARITY, P_STOPB);
++ bufi += snprintf(buf + bufi, MINICOM_COLS - bufi, "%s", P_BAUDRATE);
++ bufi += snprintf(buf + bufi, MINICOM_COLS - bufi, " %s%s%s", P_BITS, P_PARITY, P_STOPB);
+ }
+ break;
+ case 'T':
+ switch (terminal)
+ {
+ case VT100:
+- bufi += snprintf(buf + bufi, COLS - bufi, "VT102");
++ bufi += snprintf(buf + bufi, MINICOM_COLS - bufi, "VT102");
+ break;
+ case ANSI:
+- bufi += snprintf(buf + bufi, COLS - bufi, "ANSI");
++ bufi += snprintf(buf + bufi, MINICOM_COLS - bufi, "ANSI");
+ break;
+ }
+
+ break;
+ case 'C':
+- bufi += snprintf(buf + bufi, COLS - bufi, cursormode == NORMAL ? "NOR" : "APP");
++ bufi += snprintf(buf + bufi, MINICOM_COLS - bufi, cursormode == NORMAL ? "NOR" : "APP");
+ break;
+
+ case 't':
+ if (online < 0)
+- bufi += snprintf(buf + bufi, COLS - bufi, "%s",
++ bufi += snprintf(buf + bufi, MINICOM_COLS - bufi, "%s",
+ P_HASDCD[0] == 'Y' ? _("Offline") : _("OFFLINE"));
+ else
+- bufi += snprintf(buf + bufi, COLS - bufi, "%s %ld:%ld",
++ bufi += snprintf(buf + bufi, MINICOM_COLS - bufi, "%s %ld:%ld",
+ P_HASDCD[0] == 'Y' ? _("Online") : _("ONLINE"),
+ online / 3600, (online / 60) % 60);
+ break;
+
+ case 'D':
+ {
+- char b[COLS - bufi];
+- bufi += snprintf(buf + bufi, COLS - bufi, "%s",
++ char b[MINICOM_COLS - bufi];
++ bufi += snprintf(buf + bufi, MINICOM_COLS - bufi, "%s",
+ shortened_devpath(b, sizeof(b), dial_tty));
+ }
+ break;
+
+ case '$':
+- bufi += snprintf(buf + bufi, COLS - bufi, "%s", status_message);
++ bufi += snprintf(buf + bufi, MINICOM_COLS - bufi, "%s", status_message);
+ break;
+
+ default:
+- bufi += snprintf(buf + bufi, COLS - bufi, "?%c", func);
++ bufi += snprintf(buf + bufi, MINICOM_COLS - bufi, "?%c", func);
+ break;
+ }
+ }
+@@ -670,9 +670,9 @@ static void show_status_fmt(const char *fmt)
+ }
+ }
+
+- if (bufi < COLS - 1)
+- memset(buf + bufi, ' ', COLS - bufi);
+- buf[COLS - 1] = 0;
++ if (bufi < MINICOM_COLS - 1)
++ memset(buf + bufi, ' ', MINICOM_COLS - bufi);
++ buf[MINICOM_COLS - 1] = 0;
+
+ if (size_changed || !current_status_line || strcmp(buf, current_status_line))
+ {
+@@ -681,7 +681,7 @@ static void show_status_fmt(const char *fmt)
+ mc_wprintf(st, "%s", buf);
+ mc_wredraw(st, 1);
+ ret_csr();
+- current_status_line = realloc(current_status_line, COLS);
++ current_status_line = realloc(current_status_line, MINICOM_COLS);
+ assert(current_status_line);
+ strcpy(current_status_line, buf);
+ }
+@@ -814,7 +814,7 @@ static void showtemp(void)
+ if (st)
+ return;
+
+- st = mc_wopen(0, LINES - 1, COLS - 1, LINES - 1,
++ st = mc_wopen(0, MINICOM_LINES - 1, MINICOM_COLS - 1, MINICOM_LINES - 1,
+ BNONE, st_attr, sfcolor, sbcolor, 1, 0, 1);
+ show_status();
+ tempst = 1;
+diff --git a/src/minicom.c b/src/minicom.c
+index cfdb763..d876cb2 100644
+--- a/src/minicom.c
++++ b/src/minicom.c
+@@ -1502,7 +1502,7 @@ int main(int argc, char **argv)
+ if (win_init(tfcolor, tbcolor, XA_NORMAL) < 0)
+ leave("");
+
+- if (COLS < 40 || LINES < 10)
++ if (MINICOM_COLS < 40 || MINICOM_LINES < 10)
+ leave(_("Sorry. Your screen is too small.\n"));
+
+ if (dosetup) {
+diff --git a/src/vt100.c b/src/vt100.c
+index 82e395e..2f03549 100644
+--- a/src/vt100.c
++++ b/src/vt100.c
+@@ -739,7 +739,7 @@ static void dec_mode(int on_off)
+
+ if (on_off)
+ {
+- us_alternate = mc_wopen(0, 0, COLS - 1, us->y2, BNONE, XA_NORMAL,
++ us_alternate = mc_wopen(0, 0, MINICOM_COLS - 1, us->y2, BNONE, XA_NORMAL,
+ tfcolor, tbcolor, 1, 0, 0);
+ vt_win = us_alternate;
+ }
+diff --git a/src/windiv.c b/src/windiv.c
+index 2644dff..fb4d73c 100644
+--- a/src/windiv.c
++++ b/src/windiv.c
+@@ -48,8 +48,8 @@ static WIN *vmc_tell(const char *fmt, va_list va)
+
+ vsnprintf(buf, sizeof(buf), fmt, va);
+
+- w = mc_wopen((COLS / 2) - 2 - mbswidth(buf) / 2, 8,
+- (COLS / 2) + 2 + mbswidth(buf) / 2, 10,
++ w = mc_wopen((MINICOM_COLS / 2) - 2 - mbswidth(buf) / 2, 8,
++ (MINICOM_COLS / 2) + 2 + mbswidth(buf) / 2, 10,
+ BDOUBLE, stdattr, mfcolor, mbcolor, 0, 0, 1);
+ mc_wcursor(w, CNONE);
+ mc_wlocate(w, 2, 1);
+@@ -104,7 +104,7 @@ int ask(const char *what, const char **s)
+ size = mbswidth(what) / 2 + 2;
+ offs = size - 5*num;
+ }
+- w = mc_wopen((COLS / 2) - size , 8, (COLS / 2) + 1 + size, 9,
++ w = mc_wopen((MINICOM_COLS / 2) - size , 8, (MINICOM_COLS / 2) + 1 + size, 9,
+ BSINGLE, stdattr, mfcolor, mbcolor, 0, 0, 1);
+
+ dirflush = 0;
+@@ -167,7 +167,7 @@ char *input(char *s, char *buf, size_t bufsize)
+ {
+ WIN *w;
+
+- w = mc_wopen((COLS / 2) - 20, 11, (COLS / 2) + 20, 12,
++ w = mc_wopen((MINICOM_COLS / 2) - 20, 11, (MINICOM_COLS / 2) + 20, 12,
+ BDOUBLE, stdattr, mfcolor, mbcolor, 1, 0, 1);
+ mc_wputs(w, s);
+ mc_wlocate(w, 0, 1);
+diff --git a/src/window.c b/src/window.c
+index c6cf0f1..66f2978 100644
+--- a/src/window.c
++++ b/src/window.c
+@@ -104,7 +104,7 @@ static int sflag = 0;
+
+ int useattr = 1;
+ int dirflush = 1;
+-int LINES, COLS;
++int MINICOM_LINES, MINICOM_COLS;
+ int usecolor = 0;
+ WIN *stdwin;
+ /*
+@@ -266,12 +266,12 @@ static void _gotoxy(int x, int y)
+ int tmp;
+
+ /* Sanity check. */
+- if (x >= COLS || y > LINES || (x == curx && y == cury))
++ if (x >= MINICOM_COLS || y > MINICOM_LINES || (x == curx && y == cury))
+ return;
+
+ if (use_status) {
+ /* Leaving status line? */
+- if (cury == LINES && y < cury) {
++ if (cury == MINICOM_LINES && y < cury) {
+ outstr(FS);
+ /* Re-set attributes. */
+ tmp = curattr;
+@@ -282,7 +282,7 @@ static void _gotoxy(int x, int y)
+ return;
+ }
+ /* Writing on status line? */
+- else if (y == LINES) {
++ else if (y == MINICOM_LINES) {
+ /* From normal screen? */
+ if (cury < y) {
+ outstr(tgoto(TS, x, x));
+@@ -298,11 +298,11 @@ static void _gotoxy(int x, int y)
+ }
+ #else
+ /* Sanity check. */
+- if (x >= COLS || y >= LINES || (x == curx && y == cury)) {
++ if (x >= MINICOM_COLS || y >= MINICOM_LINES || (x == curx && y == cury)) {
+ # if 0
+- if (x >= COLS || y >= LINES)
++ if (x >= MINICOM_COLS || y >= MINICOM_LINES)
+ fprintf(stderr, "OOPS: (x, y) == (%d, %d)\n",
+- COLS, LINES);
++ MINICOM_COLS, MINICOM_LINES);
+ # endif
+ return;
+ }
+@@ -345,7 +345,7 @@ static void _write(wchar_t c, int doit, int x, int y, char attr, char color)
+ * last line, last character. After scrolling, this "invisible"
+ * character is automatically restored.
+ */
+- if (_has_am && y >= LINES - 1 && x >= COLS - 1) {
++ if (_has_am && y >= MINICOM_LINES - 1 && x >= MINICOM_COLS - 1) {
+ doit = 0;
+ sflag = 1;
+ oldc.value = c;
+@@ -353,9 +353,9 @@ static void _write(wchar_t c, int doit, int x, int y, char attr, char color)
+ oldc.color = color;
+ }
+ #ifdef ST_LINE
+- if (x < COLS && y <= LINES)
++ if (x < MINICOM_COLS && y <= MINICOM_LINES)
+ #else
+- if (x < COLS && y < LINES)
++ if (x < MINICOM_COLS && y < MINICOM_LINES)
+ #endif
+ {
+ if (doit != 0) {
+@@ -380,7 +380,7 @@ static void _write(wchar_t c, int doit, int x, int y, char attr, char color)
+ curx++;
+ }
+ if (doit >= 0) {
+- e = &gmap[x + y * COLS];
++ e = &gmap[x + y * MINICOM_COLS];
+ e->value = c;
+ e->attr = attr;
+ e->color = color;
+@@ -428,7 +428,7 @@ void mc_wresize(WIN *win, int lines, int cols)
+ for (x = 0; x < cols; x++) {
+ n = &newmap[y + x * cols];
+ if (x < win->xs && y < win->ys) {
+- e = &oldmap[y + x * COLS];
++ e = &oldmap[y + x * MINICOM_COLS];
+ n->value = e->value;
+ n->color = e->color;
+ n->attr = e->attr;
+@@ -446,8 +446,8 @@ void mc_wresize(WIN *win, int lines, int cols)
+ free(oldmap);
+ if (win == stdwin) {
+ gmap = newmap;
+- LINES = lines;
+- COLS = cols;
++ MINICOM_LINES = lines;
++ MINICOM_COLS = cols;
+ } else
+ win->map = newmap;
+ }
+@@ -485,10 +485,10 @@ WIN *mc_wopen(int x1, int y1, int x2, int y2, int border, int attr,
+ if (y1 < offs)
+ y1 = offs;
+ #if 0
+- if (x2 >= COLS - offs)
+- x2 = COLS - offs - 1;
+- if (y2 >= LINES - offs)
+- y2 = LINES - offs - 1;
++ if (x2 >= MINICOM_COLS - offs)
++ x2 = MINICOM_COLS - offs - 1;
++ if (y2 >= MINICOM_LINES - offs)
++ y2 = MINICOM_LINES - offs - 1;
+ #endif
+
+ w->xs = x2 - x1 + 1;
+@@ -531,7 +531,7 @@ WIN *mc_wopen(int x1, int y1, int x2, int y2, int border, int attr,
+ bytes = (x2 - x1 + 1) * sizeof(ELM);
+ /* Loop */
+ for (y = y1; y <= y2; y++) {
+- memcpy(e, gmap + COLS * y + x1, bytes);
++ memcpy(e, gmap + MINICOM_COLS * y + x1, bytes);
+ e += (x2 - x1 + 1);
+ }
+
+@@ -649,7 +649,7 @@ void mc_wleave(void)
+ ocursor = _curstype;
+
+ setcbreak(0); /* Normal */
+- _gotoxy(0, LINES - 1);
++ _gotoxy(0, MINICOM_LINES - 1);
+ _setattr(XA_NORMAL, COLATTR(WHITE, BLACK));
+ _cursor(CNORMAL);
+ if (CL != NULL)
+@@ -688,8 +688,8 @@ void mc_wreturn(void)
+ _cursor(ocursor);
+
+ e = gmap;
+- for (y = 0; y <LINES; y++) {
+- for(x = 0; x < COLS; x++) {
++ for (y = 0; y <MINICOM_LINES; y++) {
++ for(x = 0; x < MINICOM_COLS; x++) {
+ _write(e->value, -1, x, y, e->attr, e->color);
+ e++;
+ }
+@@ -750,7 +750,7 @@ static int _wclreol(WIN *w)
+
+ y = w->cury + w->y1;
+
+- if (w->direct && (w->x2 == COLS - 1) && CE) {
++ if (w->direct && (w->x2 == MINICOM_COLS - 1) && CE) {
+ _gotoxy(w->curx + w->x1, y);
+ _setattr(w->attr, w->color);
+ outstr(CE);
+@@ -779,12 +779,12 @@ void mc_wscroll(WIN *win, int dir)
+ * This improves performance on slow screens (eg ATARI ST) dramatically.
+ */
+ if (win->direct && SF != NULL &&
+- (dir == S_UP || SR != NULL) && (LINES == win->sy2 - win->sy1 + 1)) {
++ (dir == S_UP || SR != NULL) && (MINICOM_LINES == win->sy2 - win->sy1 + 1)) {
+ doit = 0;
+ phys_scr = 1;
+ _setattr(win->attr, win->color);
+ if (dir == S_UP) {
+- _gotoxy(0, LINES - 1);
++ _gotoxy(0, MINICOM_LINES - 1);
+ outstr(SF);
+ } else {
+ _gotoxy(0, 0);
+@@ -795,7 +795,7 @@ void mc_wscroll(WIN *win, int dir)
+ * If the window is as wide as the physical screen, we can
+ * scroll it with insert/delete line (or set scroll region - vt100!)
+ */
+- else if (win->direct && win->xs == COLS &&
++ else if (win->direct && win->xs == MINICOM_COLS &&
+ ((CS != NULL && SF != NULL && SR != NULL)
+ || (Dl != NULL && Al != NULL))) {
+ doit = 0;
+@@ -806,7 +806,7 @@ void mc_wscroll(WIN *win, int dir)
+ * big as the physical screen, we don't _have_ to
+ * initialize it.
+ */
+- if (win->sy2 == LINES - 1 && win->sy1 == 0)
++ if (win->sy2 == MINICOM_LINES - 1 && win->sy1 == 0)
+ fs = 1;
+ if (!fs) {
+ outstr(tgoto(CS, win->sy2, win->sy1));
+@@ -820,7 +820,7 @@ void mc_wscroll(WIN *win, int dir)
+ outstr(SR);
+ }
+ if (!fs) {
+- outstr(tgoto(CS, LINES - 1, 0));
++ outstr(tgoto(CS, MINICOM_LINES - 1, 0));
+ cury = 0;
+ }
+ _gotoxy(0, win->sy2);
+@@ -843,9 +843,9 @@ void mc_wscroll(WIN *win, int dir)
+ * to the lower right. After scrolling we have to restore
+ * the non-visible character that is now visible.
+ */
+- if (sflag && win->sy2 == (LINES - 1) && win->sy1 != win->sy2) {
++ if (sflag && win->sy2 == (MINICOM_LINES - 1) && win->sy1 != win->sy2) {
+ if (dir == S_UP) {
+- _write(oldc.value, 1, COLS - 1, LINES - 2,
++ _write(oldc.value, 1, MINICOM_COLS - 1, MINICOM_LINES - 2,
+ oldc.attr, oldc.color);
+ }
+ sflag = 0;
+@@ -858,7 +858,7 @@ void mc_wscroll(WIN *win, int dir)
+ win->sy2 == win->y2 && win->sy1 == win->y1) {
+
+ /* Calculate screen buffer */
+- e = gmap + win->y1 * COLS + win->x1;
++ e = gmap + win->y1 * MINICOM_COLS + win->x1;
+
+ /* Calculate history buffer */
+ f = win->histbuf + (win->xs * win->histline);
+@@ -903,7 +903,7 @@ void mc_wscroll(WIN *win, int dir)
+ /* Now scroll the memory image. */
+ if (dir == S_UP) {
+ for (y = win->sy1 + 1; y <= win->sy2; y++) {
+- e = gmap + y * COLS + win->x1;
++ e = gmap + y * MINICOM_COLS + win->x1;
+ for (x = win->x1; x <= win->x2; x++) {
+ _write(e->value, win->direct && doit, x, y - 1, e->attr, e->color);
+ e++;
+@@ -915,7 +915,7 @@ void mc_wscroll(WIN *win, int dir)
+ _wclreol(win);
+ } else {
+ for (y = win->sy2 - 1; y >= win->sy1; y--) {
+- e = gmap + y * COLS + win->x1;
++ e = gmap + y * MINICOM_COLS + win->x1;
+ for (x = win->x1; x <= win->x2; x++) {
+ _write(e->value, win->direct && doit, x, y + 1, e->attr, e->color);
+ e++;
+@@ -1195,7 +1195,7 @@ void mc_wcurbar(WIN *w, int y, int attr)
+
+ y += w->y1;
+
+- e = gmap + y * COLS + w->x1;
++ e = gmap + y * MINICOM_COLS + w->x1;
+
+ /* If we can't do reverse, just put a '>' in front of
+ * the line. We only support XA_NORMAL & XA_REVERSE.
+@@ -1447,7 +1447,7 @@ void mc_winclr(WIN *w)
+ /* contains them for cosmetic purposes or as separators. */
+ for (m = w->y2; m >= w->y1; m--) {
+ /* Start of this line in the global map. */
+- e = gmap + m * COLS + w->x1;
++ e = gmap + m * MINICOM_COLS + w->x1;
+
+ /* Quick check to see if line is empty. */
+ for (i = 0; i < w->xs; i++)
+@@ -1461,7 +1461,7 @@ void mc_winclr(WIN *w)
+ /* Copy window into history buffer line-by-line. */
+ for (y = w->y1; y <= m; y++) {
+ /* Start of this line in the global map. */
+- e = gmap + y * COLS + w->x1;
++ e = gmap + y * MINICOM_COLS + w->x1;
+
+ /* Now copy this line. */
+ f = w->histbuf + (w->xs * w->histline); /* History buffer */
+@@ -1475,7 +1475,7 @@ void mc_winclr(WIN *w)
+ _setattr(w->attr, w->color);
+ w->curx = 0;
+
+- if (CL && w->y1 == 0 && w->y2 == LINES-1 && w->x1 == 0 && w->x2 == COLS-1) {
++ if (CL && w->y1 == 0 && w->y2 == MINICOM_LINES-1 && w->x1 == 0 && w->x2 == MINICOM_COLS-1) {
+ w->direct = 0;
+ curx = 0;
+ cury = 0;
+@@ -1567,7 +1567,7 @@ void mc_winschar2(WIN *w, wchar_t c, int move)
+ }
+
+ odir = w->direct;
+- if (w->xs == COLS && IC != NULL) {
++ if (w->xs == MINICOM_COLS && IC != NULL) {
+ /* We can use the insert character capability. */
+ if (w->direct)
+ outstr(IC);
+@@ -1589,7 +1589,7 @@ void mc_winschar2(WIN *w, wchar_t c, int move)
+ buf = malloc(sizeof(ELM) * len);
+ if (!buf)
+ return; /* Umm... */
+- memcpy(buf, gmap + COLS * y + x, sizeof(ELM) * len);
++ memcpy(buf, gmap + MINICOM_COLS * y + x, sizeof(ELM) * len);
+
+ /* Now, put the new character on screen. */
+ mc_wputc(w, c);
+@@ -1625,14 +1625,14 @@ void mc_wdelchar(WIN *w)
+ x = w->x1 + w->curx;
+ y = w->y1 + w->cury;
+
+- if (w->direct && w->xs == COLS && DC != NULL) {
++ if (w->direct && w->xs == MINICOM_COLS && DC != NULL) {
+ /*_gotoxy(x - 1, y);*/
+ _gotoxy(x, y);
+ outstr(DC);
+ doit = 0;
+ }
+
+- e = gmap + y * COLS + x + 1;
++ e = gmap + y * MINICOM_COLS + x + 1;
+
+ for (; x < w->x2; x++) {
+ _write(e->value, doit && w->direct, x, y, e->attr, e->color);
+@@ -1906,16 +1906,16 @@ int win_init(int fg, int bg, int attr)
+ fprintf(stderr, _("No cursor motion capability (cm)\n"));
+ return -1;
+ }
+- LINES = COLS = 0;
+- getrowcols(&LINES, &COLS);
++ MINICOM_LINES = MINICOM_COLS = 0;
++ getrowcols(&MINICOM_LINES, &MINICOM_COLS);
+ #ifdef BBS
+- LINES = lines;
++ MINICOM_LINES = lines;
+ #endif
+- if (LINES == 0 && (LINES = tgetnum("li")) <= 0) {
++ if (MINICOM_LINES == 0 && (MINICOM_LINES = tgetnum("li")) <= 0) {
+ fprintf(stderr, _("Number of terminal lines unknown\n"));
+ return -1;
+ }
+- if (COLS == 0 && (COLS = tgetnum("co")) <= 0) {
++ if (MINICOM_COLS == 0 && (MINICOM_COLS = tgetnum("co")) <= 0) {
+ fprintf(stderr, _("Number of terminal columns unknown\n"));
+ return -1;
+ }
+@@ -2053,7 +2053,7 @@ int win_init(int fg, int bg, int attr)
+
+
+ /* Memory for global map */
+- if ((gmap = malloc(sizeof(ELM) * (LINES + 1) * COLS)) == NULL) {
++ if ((gmap = malloc(sizeof(ELM) * (MINICOM_LINES + 1) * MINICOM_COLS)) == NULL) {
+ fprintf(stderr, _("Not enough memory\n"));
+ return -1;
+ };
+@@ -2068,10 +2068,10 @@ int win_init(int fg, int bg, int attr)
+ stdwin->doscroll = 1;
+ stdwin->x1 = 0;
+ stdwin->sy1 = stdwin->y1 = 0;
+- stdwin->x2 = COLS - 1;
+- stdwin->sy2 = stdwin->y2 = LINES - 1;
+- stdwin->xs = COLS;
+- stdwin->ys = LINES;
++ stdwin->x2 = MINICOM_COLS - 1;
++ stdwin->sy2 = stdwin->y2 = MINICOM_LINES - 1;
++ stdwin->xs = MINICOM_COLS;
++ stdwin->ys = MINICOM_LINES;
+ stdwin->attr = attr;
+ stdwin->color = COLATTR(fg, bg);
+ stdwin->direct = 1;
+diff --git a/src/window.h b/src/window.h
+index 1b8eb12..97f3bdd 100644
+--- a/src/window.h
++++ b/src/window.h
+@@ -62,7 +62,7 @@ typedef struct _win {
+ * Stdwin is the whole screen
+ */
+ extern WIN *stdwin; /* Whole screen */
+-extern int LINES, COLS; /* Size of screen */
++extern int MINICOM_LINES, MINICOM_COLS; /* Size of screen */
+ extern int usecolor; /* Use ansi color escape sequences */
+ extern int useattr; /* Use attributes (reverse, bold etc. ) */
+ extern int dirflush; /* Direct flush after write */
+--
+2.25.0
+