Bug 694909 - Fix the --enable-gio build to work with ArrayLength changes. r=trivial

--HG--
extra : rebase_source : 3d372a242ab3242d364c613f43fda79120880060
This commit is contained in:
Jeff Walden 2011-10-17 13:50:15 -07:00
Родитель 64f2d633bf
Коммит 1978a49325
1 изменённых файлов: 10 добавлений и 5 удалений

Просмотреть файл

@ -267,15 +267,20 @@ nsGSettingsCollection::GetInt(const nsACString& aKey,
return NS_OK;
}
// These types are local to nsGSettingsService::Init, but ISO C++98 doesn't
// allow a template (ArrayLength) to be instantiated based on a local type.
// Boo-urns!
typedef void (*nsGSettingsFunc)();
struct nsGSettingsDynamicFunction {
const char *functionName;
nsGSettingsFunc *function;
};
nsresult
nsGSettingsService::Init()
{
#define FUNC(name, type, params) { #name, (nsGSettingsFunc *)&_##name },
typedef void (*nsGSettingsFunc)();
static const struct nsGSettingsDynamicFunction {
const char *functionName;
nsGSettingsFunc *function;
} kGSettingsSymbols[] = {
static const nsGSettingsDynamicFunction kGSettingsSymbols[] = {
GSETTINGS_FUNCTIONS
};
#undef FUNC