From: J. Ali Harlow Date: Mon, 26 Apr 2010 07:54:44 +0000 (+0100) Subject: Treat missing detail strings as empty X-Git-Tag: 0.4^0 X-Git-Url: http://project.juiblex.co.uk/git/?a=commitdiff_plain;h=36e0191b48b3a6494b676603c3cd72968edf4fe6;p=razor.git Treat missing detail strings as empty --- diff --git a/librazor/merger.c b/librazor/merger.c index 1b4e14e..ebf1c86 100644 --- a/librazor/merger.c +++ b/librazor/merger.c @@ -1,7 +1,7 @@ /* * Copyright (C) 2008 Kristian Høgsberg * Copyright (C) 2008 Red Hat, Inc - * Copyright (C) 2009 J. Ali Harlow + * Copyright (C) 2009, 2010 J. Ali Harlow * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -107,14 +107,21 @@ razor_merger_add_package(struct razor_merger *merger, &pool[package->version]); p->arch = hashtable_tokenize(&merger->table, &pool[package->arch]); - p->summary = hashtable_tokenize(&merger->details_table, - &details_pool[package->summary]); - p->description = hashtable_tokenize(&merger->details_table, - &details_pool[package->description]); - p->url = hashtable_tokenize(&merger->details_table, - &details_pool[package->url]); - p->license = hashtable_tokenize(&merger->details_table, - &details_pool[package->license]); + if (source->set->details_string_pool.size) { + p->summary = hashtable_tokenize(&merger->details_table, + &details_pool[package->summary]); + p->description = hashtable_tokenize(&merger->details_table, + &details_pool[package->description]); + p->url = hashtable_tokenize(&merger->details_table, + &details_pool[package->url]); + p->license = hashtable_tokenize(&merger->details_table, + &details_pool[package->license]); + } else { + p->summary = hashtable_tokenize(&merger->details_table, ""); + p->description = hashtable_tokenize(&merger->details_table, ""); + p->url = hashtable_tokenize(&merger->details_table, ""); + p->license = hashtable_tokenize(&merger->details_table, ""); + } p->properties = package->properties; r = list_first(&package->properties, &source->set->property_pool); diff --git a/librazor/razor.c b/librazor/razor.c index 5a9d848..5a6264e 100644 --- a/librazor/razor.c +++ b/librazor/razor.c @@ -1,7 +1,7 @@ /* * Copyright (C) 2008 Kristian Høgsberg * Copyright (C) 2008 Red Hat, Inc - * Copyright (C) 2009 J. Ali Harlow + * Copyright (C) 2009, 2010 J. Ali Harlow * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -426,18 +426,26 @@ razor_package_get_details_string(struct razor_set *set, return &pool[package->arch]; case RAZOR_DETAIL_SUMMARY: + if (!set->details_string_pool.size) + return ""; pool = set->details_string_pool.data; return &pool[package->summary]; case RAZOR_DETAIL_DESCRIPTION: + if (!set->details_string_pool.size) + return ""; pool = set->details_string_pool.data; return &pool[package->description]; case RAZOR_DETAIL_URL: + if (!set->details_string_pool.size) + return ""; pool = set->details_string_pool.data; return &pool[package->url]; case RAZOR_DETAIL_LICENSE: + if (!set->details_string_pool.size) + return ""; pool = set->details_string_pool.data; return &pool[package->license];