[oe] [PATCH] base.bbclass: in base_contains, check for var existance before using it

Khem Raj raj.khem at gmail.com
Mon Jan 18 19:59:49 UTC 2010


On (15/01/10 10:36), Chris Larson wrote:
> From: Brian Pomerantz <bapper at mvista.com>
> 
> When using base_contains() to check for a string in a variable for a,
> if the variable is not defined an exception occurs.  By checking the
> existance of the variable and returning false if it isn't there,
> a value can be checked for a variable regardless of whether or not it
> is defined.
> 
> Signed-off-by: Brian Pomerantz <bapper at mvista.com>
> Signed-off-by: Chris Larson <clarson at mvista.com>

Acked-by: Khem Raj <raj.khem at gmail.com>


> ---
>  classes/base.bbclass |    7 +++++--
>  1 files changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/classes/base.bbclass b/classes/base.bbclass
> index 384a67d..f67773a 100644
> --- a/classes/base.bbclass
> +++ b/classes/base.bbclass
> @@ -226,14 +226,17 @@ def base_version_less_or_equal(variable, checkvalue, truevalue, falsevalue, d):
>          return falsevalue
>  
>  def base_contains(variable, checkvalues, truevalue, falsevalue, d):
> +	val = bb.data.getVar(variable,d,1)
> +	if not val:
> +		return falsevalue
>  	matches = 0
>  	if type(checkvalues).__name__ == "str":
>  		checkvalues = [checkvalues]
>  	for value in checkvalues:
> -		if bb.data.getVar(variable,d,1).find(value) != -1:	
> +		if val.find(value) != -1:
>  			matches = matches + 1
>  	if matches == len(checkvalues):
> -		return truevalue		
> +		return truevalue
>  	return falsevalue
>  
>  def base_both_contain(variable1, variable2, checkvalue, d):
> -- 
> 1.6.4.339.g527d
> 
> 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel




More information about the Openembedded-devel mailing list