Module Name: src Committed By: kre Date: Wed Feb 27 04:10:56 UTC 2019
Modified Files: src/bin/sh: expand.c parser.c syntax.h Log Message: Finish the fixes from Feb 4 for handling of random data that matches the internal CTL* chars. The earlier fixes handled CTL* char values in var expansions, but not in various other places they can occur (positional parameters, $@ $* -- even potentially $0 and ~ expansions, as well as byte strings generated from a \u in a $'' string). These should all be correctly handled now. There is a new ISCTL() macro to make the test, rather than using the old BASESYNTAX[c]==CCTL form (which us still a viable alternative) as the new way allows compiler optimisations, and less mem references, so it should be smaller and faster. Also, be sure in all cases to remove any CTLESC (or other) CTL* chars from all strings before they are made available for any external use (there was one case missed - which didn't matter when we weren't bothering to escape the CTL* chars at all.) XXX pullup-8 (will need to be via a patch) along with the Feb 4 fixes. To generate a diff of this commit: cvs rdiff -u -r1.130 -r1.131 src/bin/sh/expand.c cvs rdiff -u -r1.166 -r1.167 src/bin/sh/parser.c cvs rdiff -u -r1.11 -r1.12 src/bin/sh/syntax.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.