B20: bash does not like CRLF on stdin
Earnie Boyd
earnie_boyd@yahoo.com
Tue Nov 30 23:39:00 GMT 1999
Known FAQ:
You cannot have TTY set in the CYGWIN variable when communicating with
NON-CYGWIN binaries. You must set this to NOTTY or remove it from the CYGWIN
variable.
Earnie.
--- Anton Leherbauer <aleherbauer@takefive.co.at> wrote:
> Create from the command line:
>
> C:> echo ls > foo.sh
> C:> bash foo.sh
> ... lots of output ...
> C:> bash < foo.sh
> : No such file or directory
>
> The problem is that bash treats stdin as binary, thus leaving the
> CR/LF in place. Interestingly, the following experiment works:
>
> C:> bash
> bash-2.0$ bash < foo.sh
> ... lots of output ...
>
> This happens with cygwin B20 and bash 2.03 and is
> especially bad, when using bash together with clearmake,
> because clearmake executes build scripts in the above manner.
>
> Jim Chapman [jim.chapman@xstreamis.com]
> provided me with a fix to the problem:
>
> Edit make_cmd.c in function make_bare_word() near line 53 (version is 2.02).
> Make it look like
> -------------------------------- begin ----------------------------
> make_bare_word (string)
> char *string;
> {
> WORD_DESC *temp;
>
> temp = (WORD_DESC *)xmalloc (sizeof (WORD_DESC));
> if (*string)
> {
> /* JC. Remove any rogue carriage return char - 12/21/98. */
> int j, slen;
> slen = strlen(string);
> if (string[slen-1] == 0x0d)
> {
> string[slen-1] = '\0';
> }
>
> temp->word = savestring (string);
> }
> else
> {
> temp->word = xmalloc (1);
> temp->word[0] = '\0';
> }
>
> temp->flags = 0;
> return (temp);
> }
> --------------------------------- end -------------------------------
>
> It would be great, if the fix would get into the common distribution.
>
> Thanks,
> Toni
> --
> Anton Leherbauer Phone: +43 662 457 915-89
> TakeFive Software GmbH Fax: +43 662 457 915-6
> Jakob-Haringer-Str. 8 http://www.TakeFive.com/
> A-5020 Salzburg, Austria mailto:aleherbauer@TakeFive.co.at
>
> The Source Code Engineering Company
>
> --
> Want to unsubscribe from this list?
> Send a message to cygwin-unsubscribe@sourceware.cygnus.com
>
>
__________________________________________________
Do You Yahoo!?
Bid and sell for free at http://auctions.yahoo.com
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com
More information about the Cygwin
mailing list