# HG changeset patch # User J. Ali Harlow # Date 1272452342 -3600 # Node ID ed134fdfe95f6078cad103825367e156fe7dec9d # Parent afe520f454bdd976643e9f87b44398bcaa30055e Treat missing detail strings as empty diff -r afe520f454bd -r ed134fdfe95f librazor/merger.c --- a/librazor/merger.c Fri Apr 23 21:07:15 2010 +0100 +++ b/librazor/merger.c Wed Apr 28 11:59:02 2010 +0100 @@ -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 @@ &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 -r afe520f454bd -r ed134fdfe95f librazor/razor.c --- a/librazor/razor.c Fri Apr 23 21:07:15 2010 +0100 +++ b/librazor/razor.c Wed Apr 28 11:59:02 2010 +0100 @@ -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 @@ 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];