On 03/23/2016 03:45 AM, Patrick Ohly wrote: > Hello! > > I mentioned on IRC recently that sed -e '$a\' /dev/null segfaults. It > was pointed out that commit 96a5ed118ce8ad fixes the segfault. I've now > tried that fix and it indeed fixes the segfault. > > However, the sed invocation above still does not work because Toybox > complains about the missing text after "a\".
Indeed. The gnu version silently ignores an error. > No idea whether that is a valid complaint. coreutils accepts it and > treats it as "add a newline (but only if needed) and then do nothing". Even gcc will at least warn if you have a continuation with no line after it: $ echo '\\' | gcc -E - > /dev/null <stdin>:1:2: warning: backslash-newline at end of file [enabled by default] > Debian's update-ca-certificates script uses that to conditionally add a > newline after a file which may or may not end with a newline: > http://anonscm.debian.org/cgit/collab-maint/ca-certificates.git/tree/sbin/update-ca-certificates#n100 > > # Add trailing newline to certificate, if it is missing (#635570) > sed -e '$a\' "$CERT" >> "$TEMPBUNDLE" MORE undefined behavior people are relying on. Woo! Alright, I can remove the error and add a test to sed.test with a comment about who's doing that. Thanks, Rob _______________________________________________ Toybox mailing list [email protected] http://lists.landley.net/listinfo.cgi/toybox-landley.net
