Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re: (OT) Fixing Line Endings

by jbert (Priest)
on Nov 30, 2006 at 15:09 UTC ( #586961=note: print w/replies, xml ) Need Help??

in reply to (OT) Fixing Line Endings

If the only way to get scripts onto the box is ftp, then you could look for a "post-upload-hook" feature in your ftpd, or hack one in if it's open source. Then you could try some heuristics (does the file look like text, does it have a file extension suggesting it is a script, etc) and do the CRLF->LF conversion if the heuristics recommend it.

Actually - why not a kernel hack? Just map "foo\r" -> "foo" in the exec codepath. You'll lose the ability to run scripts with an interpreter of such a name, but that seems a small loss.

<rummages> There's some string manipulation in linux/fs/binfmt_script.c to find and launch the shebang. Just add a:

if(interp(strlen(interp)-1) == '\r') { interp(strlen(interp)-1) = '\0'; }
just after the strcpy (interp, i_name); in the load_script function and Bob's your Auntie's live-in lover. Possibly.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://586961]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (6)
As of 2016-10-28 21:52 GMT
Find Nodes?
    Voting Booth?
    How many different varieties (color, size, etc) of socks do you have in your sock drawer?

    Results (387 votes). Check out past polls.