--- /dev/null
+--- a/src/minicom.c
++++ b/src/minicom.c
+@@ -167,7 +167,7 @@ static void shjump(int sig)
+ #endif /*SIGTSTP*/
+
+ /* Get a line from either window or scroll back buffer. */
+-static ELM *getline(WIN *w, int no)
++static ELM *mc_getline(WIN *w, int no)
+ {
+ int i;
+ static ELM outofrange[MAXCOLS] = {{0,0,0}};
+@@ -205,7 +205,7 @@ static void drawhist(WIN *w, int y, int
+
+ w->direct = 0;
+ for (f = 0; f < w->ys; f++)
+- mc_wdrawelm(w, f, getline(w, y++));
++ mc_wdrawelm(w, f, mc_getline(w, y++));
+ if (r)
+ mc_wredraw(w, 1);
+ w->direct = 1;
+@@ -227,7 +227,7 @@ void drawhist_look(WIN *w, int y, int r,
+ tmp_line[0]='\0';
+ w->direct = 0;
+ for (f = 0; f < w->ys; f++) {
+- tmp_e = getline(w, y++);
++ tmp_e = mc_getline(w, y++);
+
+ /* First we "accumulate" the line into a variable */
+ mc_wdrawelm_var(w, tmp_e, tmp_line);
+@@ -324,7 +324,7 @@ int find_next(WIN *w, WIN *w_hist,
+
+ for (next_line = hit_line; next_line <= all_lines; next_line++) {
+ /* we do 'something' here... :-) */
+- tmp_e = getline(w_hist, next_line);
++ tmp_e = mc_getline(w_hist, next_line);
+
+ /*
+ * First we "accumulate" the line into a variable.
+@@ -379,9 +379,9 @@ wchar_t *StrStr(wchar_t *str1, wchar_t *
+ static void drawcite(WIN *w, int y, int citey, int start, int end)
+ {
+ if (y+citey >= start && y+citey <= end)
+- mc_wdrawelm_inverse(w, y, getline(w, y+citey));
++ mc_wdrawelm_inverse(w, y, mc_getline(w, y+citey));
+ else
+- mc_wdrawelm(w, y, getline(w, y+citey));
++ mc_wdrawelm(w, y, mc_getline(w, y+citey));
+ }
+
+ static void drawcite_whole(WIN *w, int y, int start, int end)
+@@ -400,7 +400,7 @@ static void do_cite(WIN *w, int start, i
+ for (y=start; y<=end; y++) {
+ vt_send('>');
+ vt_send(' ');
+- tmp_e = getline(w, y);
++ tmp_e = mc_getline(w, y);
+ mc_wdrawelm_var(w, tmp_e, tmp_line);
+ tmp_line[w->xs] = 0;
+ for (x = w->xs-1; x >= 0; x--) {
+@@ -600,7 +600,7 @@ static void scrollback(void)
+ if (citemode) {
+ inverse = (y+cite_y >= cite_ystart && y+cite_y <= cite_yend);
+ } else {
+- tmp_e = getline(b_us, y);
++ tmp_e = mc_getline(b_us, y);
+ if (wcslen(look_for) > 1) {
+ /* quick scan for pattern match */
+ mc_wdrawelm_var(b_us, tmp_e, tmp_line);
+@@ -611,9 +611,9 @@ static void scrollback(void)
+ }
+
+ if (inverse)
+- mc_wdrawelm_inverse(b_us, 0, getline(b_us, y));
++ mc_wdrawelm_inverse(b_us, 0, mc_getline(b_us, y));
+ else
+- mc_wdrawelm(b_us, 0, getline(b_us, y));
++ mc_wdrawelm(b_us, 0, mc_getline(b_us, y));
+ if (citemode)
+ mc_wlocate(b_us, 0, cite_y);
+ mc_wflush();
+@@ -648,7 +648,7 @@ static void scrollback(void)
+ if (citemode) {
+ inverse = (y+cite_y >= cite_ystart && y+cite_y <= cite_yend);
+ } else {
+- tmp_e = getline(b_us, y + b_us->ys - 1);
++ tmp_e = mc_getline(b_us, y + b_us->ys - 1);
+ if (wcslen(look_for) > 1) {
+ /* quick scan for pattern match */
+ mc_wdrawelm_var(b_us, tmp_e, tmp_line);
+@@ -660,10 +660,10 @@ static void scrollback(void)
+
+ if (inverse)
+ mc_wdrawelm_inverse(b_us, b_us->ys - 1,
+- getline(b_us, y + b_us->ys - 1));
++ mc_getline(b_us, y + b_us->ys - 1));
+ else
+ mc_wdrawelm(b_us, b_us->ys - 1,
+- getline(b_us, y + b_us->ys - 1));
++ mc_getline(b_us, y + b_us->ys - 1));
+ if (citemode)
+ mc_wlocate(b_us, 0, cite_y);
+ mc_wflush();
+@@ -753,7 +753,7 @@ static void scrollback(void)
+ mc_wlocate(b_st, 0, 0);
+ mc_wprintf(b_st, hline);
+ mc_wredraw(b_st, 1);
+- mc_wdrawelm_inverse(b_us, cite_y, getline(b_us, cite_ystart));
++ mc_wdrawelm_inverse(b_us, cite_y, mc_getline(b_us, cite_ystart));
+ mc_wlocate(b_us, 0, cite_y);
+ break;
+ case K_ESC: