Fix builds outside of make

Builds outside of make use custom config files that may not set
some variables, which is causing nil pointer derefernces.  Use
wrapper functions that check for nil for the new config
variables.

Test: build/soong/scripts/build-ndk-prebuilts.sh
Change-Id: I0f837094532aeb2ecdbe401affa55a7535075bf6
This commit is contained in:
Colin Cross
2017-12-04 11:24:31 -08:00
parent 42f3a76f00
commit e15ddaf4ae

View File

@@ -475,19 +475,19 @@ func (c *config) PlatformVersionCombinedCodenames() []string {
}
func (c *config) ProductAAPTConfig() []string {
return *c.ProductVariables.AAPTConfig
return stringSlice(c.ProductVariables.AAPTConfig)
}
func (c *config) ProductAAPTPreferredConfig() string {
return *c.ProductVariables.AAPTPreferredConfig
return String(c.ProductVariables.AAPTPreferredConfig)
}
func (c *config) ProductAAPTCharacteristics() string {
return *c.ProductVariables.AAPTCharacteristics
return String(c.ProductVariables.AAPTCharacteristics)
}
func (c *config) ProductAAPTPrebuiltDPI() []string {
return *c.ProductVariables.AAPTPrebuiltDPI
return stringSlice(c.ProductVariables.AAPTPrebuiltDPI)
}
func (c *config) DefaultAppCertificateDir(ctx PathContext) SourcePath {
@@ -686,3 +686,11 @@ func (c *config) CFIEnabledForPath(path string) bool {
}
return prefixInList(path, *c.ProductVariables.CFIIncludePaths)
}
func stringSlice(s *[]string) []string {
if s != nil {
return *s
} else {
return nil
}
}