Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

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.


Comment on Re: (OT) Fixing Line Endings
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (5)
As of 2014-09-21 04:24 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (166 votes), past polls