This is the mail archive of the
cygwin
mailing list for the Cygwin project.
cygwin mingw crosscompiler / readline bug
- From: Alexander Voropay <alec at sensi dot org>
- To: cygwin at cygwin dot com
- Date: Mon, 28 Oct 2019 17:02:48 +0300
- Subject: cygwin mingw crosscompiler / readline bug
Hi!
I'm trying to compile a standalone Windows-32 console application
using 'readline' with cygwin's 'i686-w64-mingw32-gcc' crosscompiler.
I have a bug: readline repeates every input line to STDOUT on
Windows-32 application (running from the CMD.EXE, outside a Cygwin)
==
C:\TEMP\readline>readl
enter a string> sadsad
sadsad
You entered: sadsad
enter a string> aa asd
aa asd
You entered: aa asd
enter a string> ^D
C:\TEMP\readline>
==
Note the CMD command prompt. All needed DLLs are transferred to the application
directory
C:\TEMP\readline>dir
..
28.10.2019 16:53 <DIR> .
28.10.2019 16:53 <DIR> ..
26.12.2018 05:42 94 208 libgcc_s_sjlj-1.dll
05.12.2017 12:18 411 648 libncursesw6.dll
12.01.2017 05:52 180 224 libreadline7.dll
05.01.2019 17:09 48 659 libwinpthread-1.dll
28.10.2019 10:53 313 readl.c
28.10.2019 16:53 159 266 readl.exe
This program behaves _differently_ on the Cygwin terminal being
compiles with 'gcc'
==
$ ./readl.exe
enter a string> sadsad
You entered: sadsad
enter a string> aa asd
You entered: aa asd
enter a string>
$
==
My application:
===
#include<stdlib.h>
#include<stdio.h>
#include<readline/readline.h>
#include<readline/history.h>
int main(){
char* line;
while (1) {
line = readline("enter a string> ");
add_history(line);
if(line != NULL) {
printf("You entered: %s\n", line);
free(line);
}else{
break;}
}
}
===
Command line to compile under 'mingw' crosscompiler:
$ i686-w64-mingw32-gcc -o readl readl.c -lreadline
Command line for Cygwin:
$ gcc -o readl readl.c -lreadline
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple