binfmt_script and ^M

Ivo Timmermans
2001-02-27T13:05:28Z

When running a script (perl in this case) that has DOS-style newlines
(\r\n), Linux 2.4.2 can't find an interpreter because it doesn't
recognize the \r. The following patch should fix this (untested).

Please Cc me on replies, I'm not on this list. Thanks.

--- binfmt_script.c~ Mon Feb 26 17:42:09 2001
+++ binfmt_script.c Tue Feb 27 13:39:47 2001
@@ -36,6 +36,8 @@
bprm->buf[BINPRM_BUF_SIZE - 1] = '\0';
if ((cp = strchr(bprm->buf, '\n')) == NULL)
cp = bprm->buf+BINPRM_BUF_SIZE-1;
+ if (cp - 1 == '\r')
+ cp--;
*cp = '\0';
while (cp > bprm->buf) {
cp--;

--
Ivo Timmermans