Simplify commandString
Use the same logic for both go and non-go actions. This also has a slight performance improvement for go actions by allocating the slice in advance instead of using append() Test: Presubmits Change-Id: I92b60c547d8470816a67ac1ef6e334fd5f547701
This commit is contained in:
parent
c70be4b986
commit
b378c18ddf
1 changed files with 13 additions and 18 deletions
|
@ -443,10 +443,8 @@ func (a *aqueryArtifactHandler) depsetContentHashes(inputDepsetIds []uint32) ([]
|
|||
|
||||
// escapes the args received from aquery and creates a command string
|
||||
func commandString(actionEntry *analysis_v2_proto.Action) string {
|
||||
switch actionEntry.Mnemonic {
|
||||
case "GoCompilePkg", "GoStdlib":
|
||||
argsEscaped := []string{}
|
||||
for _, arg := range actionEntry.Arguments {
|
||||
argsEscaped := make([]string, len(actionEntry.Arguments))
|
||||
for i, arg := range actionEntry.Arguments {
|
||||
if arg == "" {
|
||||
// If this is an empty string, add ''
|
||||
// And not
|
||||
|
@ -454,15 +452,12 @@ func commandString(actionEntry *analysis_v2_proto.Action) string {
|
|||
// 2. `''\'''\'''` (escaped version of '')
|
||||
//
|
||||
// If we had used (1), then this would appear as a whitespace when we strings.Join
|
||||
argsEscaped = append(argsEscaped, "''")
|
||||
argsEscaped[i] = "''"
|
||||
} else {
|
||||
argsEscaped = append(argsEscaped, proptools.ShellEscapeIncludingSpaces(arg))
|
||||
argsEscaped[i] = proptools.ShellEscapeIncludingSpaces(arg)
|
||||
}
|
||||
}
|
||||
return strings.Join(argsEscaped, " ")
|
||||
default:
|
||||
return strings.Join(proptools.ShellEscapeListIncludingSpaces(actionEntry.Arguments), " ")
|
||||
}
|
||||
}
|
||||
|
||||
func (a *aqueryArtifactHandler) normalActionBuildStatement(actionEntry *analysis_v2_proto.Action) (*BuildStatement, error) {
|
||||
|
|
Loading…
Reference in a new issue