Treat missing detail strings as empty 0.4
authorJ. Ali Harlow <ali@juiblex.co.uk>
Wed Apr 28 11:59:02 2010 +0100 (2010-04-28)
changeset 395ed134fdfe95f
parent 394 afe520f454bd
child 396 ca75725e6849
child 397 4efbc922dc87
Treat missing detail strings as empty
librazor/merger.c
librazor/razor.c
     1.1 --- a/librazor/merger.c	Fri Apr 23 21:07:15 2010 +0100
     1.2 +++ b/librazor/merger.c	Wed Apr 28 11:59:02 2010 +0100
     1.3 @@ -1,7 +1,7 @@
     1.4  /*
     1.5   * Copyright (C) 2008  Kristian Høgsberg <krh@redhat.com>
     1.6   * Copyright (C) 2008  Red Hat, Inc
     1.7 - * Copyright (C) 2009  J. Ali Harlow <ali@juiblex.co.uk>
     1.8 + * Copyright (C) 2009, 2010  J. Ali Harlow <ali@juiblex.co.uk>
     1.9   *
    1.10   * This program is free software; you can redistribute it and/or modify
    1.11   * it under the terms of the GNU General Public License as published by
    1.12 @@ -107,14 +107,21 @@
    1.13  					&pool[package->version]);
    1.14  	p->arch = hashtable_tokenize(&merger->table,
    1.15  				     &pool[package->arch]);
    1.16 -	p->summary = hashtable_tokenize(&merger->details_table,
    1.17 -					&details_pool[package->summary]);
    1.18 -	p->description = hashtable_tokenize(&merger->details_table,
    1.19 -					    &details_pool[package->description]);
    1.20 -	p->url = hashtable_tokenize(&merger->details_table,
    1.21 -				    &details_pool[package->url]);
    1.22 -	p->license = hashtable_tokenize(&merger->details_table,
    1.23 -					&details_pool[package->license]);
    1.24 +	if (source->set->details_string_pool.size) {
    1.25 +		p->summary = hashtable_tokenize(&merger->details_table,
    1.26 +						&details_pool[package->summary]);
    1.27 +		p->description = hashtable_tokenize(&merger->details_table,
    1.28 +						    &details_pool[package->description]);
    1.29 +		p->url = hashtable_tokenize(&merger->details_table,
    1.30 +					    &details_pool[package->url]);
    1.31 +		p->license = hashtable_tokenize(&merger->details_table,
    1.32 +						&details_pool[package->license]);
    1.33 +	} else {
    1.34 +		p->summary = hashtable_tokenize(&merger->details_table, "");
    1.35 +		p->description = hashtable_tokenize(&merger->details_table, "");
    1.36 +		p->url = hashtable_tokenize(&merger->details_table, "");
    1.37 +		p->license = hashtable_tokenize(&merger->details_table, "");
    1.38 +	}
    1.39  
    1.40  	p->properties = package->properties;
    1.41  	r = list_first(&package->properties, &source->set->property_pool);
     2.1 --- a/librazor/razor.c	Fri Apr 23 21:07:15 2010 +0100
     2.2 +++ b/librazor/razor.c	Wed Apr 28 11:59:02 2010 +0100
     2.3 @@ -1,7 +1,7 @@
     2.4  /*
     2.5   * Copyright (C) 2008  Kristian Høgsberg <krh@redhat.com>
     2.6   * Copyright (C) 2008  Red Hat, Inc
     2.7 - * Copyright (C) 2009  J. Ali Harlow <ali@juiblex.co.uk>
     2.8 + * Copyright (C) 2009, 2010  J. Ali Harlow <ali@juiblex.co.uk>
     2.9   *
    2.10   * This program is free software; you can redistribute it and/or modify
    2.11   * it under the terms of the GNU General Public License as published by
    2.12 @@ -426,18 +426,26 @@
    2.13  		return &pool[package->arch];
    2.14  
    2.15  	case RAZOR_DETAIL_SUMMARY:
    2.16 +		if (!set->details_string_pool.size)
    2.17 +			return "";
    2.18  		pool = set->details_string_pool.data;
    2.19  		return &pool[package->summary];
    2.20  
    2.21  	case RAZOR_DETAIL_DESCRIPTION:
    2.22 +		if (!set->details_string_pool.size)
    2.23 +			return "";
    2.24  		pool = set->details_string_pool.data;
    2.25  		return &pool[package->description];
    2.26  
    2.27  	case RAZOR_DETAIL_URL:
    2.28 +		if (!set->details_string_pool.size)
    2.29 +			return "";
    2.30  		pool = set->details_string_pool.data;
    2.31  		return &pool[package->url];
    2.32  
    2.33  	case RAZOR_DETAIL_LICENSE:
    2.34 +		if (!set->details_string_pool.size)
    2.35 +			return "";
    2.36  		pool = set->details_string_pool.data;
    2.37  		return &pool[package->license];
    2.38