[PATCH] fix static linking with ncurses

Fabrice Fontaine fontaine.fabrice at gmail.com
Wed Feb 26 12:46:25 GMT 2020


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 at gmail.com>
---
 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




More information about the minicom-devel mailing list