Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com Message-ID: <19991104172229.1369.rocketmail@web121.yahoomail.com> Date: Thu, 4 Nov 1999 09:22:28 -0800 (PST) From: Earnie Boyd Reply-To: earnie_boydNOREPLY AT yahoo DOT com Subject: Re: B20: bash does not like CRLF on stdin To: Anton Leherbauer , "'cygwin AT sourceware DOT cygnus DOT com'" MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii 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 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 DOT chapman AT xstreamis DOT 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 AT TakeFive DOT co DOT at > > The Source Code Engineering Company > > -- > Want to unsubscribe from this list? > Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT 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 AT sourceware DOT cygnus DOT com