rendered paste body--- portaputty.orig\WINDOWS\WINSTORE.C 2005-11-21 12:40:34.000000000 -0500
+++ portaputty\WINDOWS\WINSTORE.C 2006-01-31 21:03:22.000000000 -0500
@@ -311,16 +311,45 @@
int read_setting_fontspec(void *handle, const char *name, FontSpec *result)
{
- return !!read_setting_s(handle, name, result->name, sizeof(result->name));
+ char *settingname;
+ FontSpec ret;
+
+ if (!read_setting_s(handle, name, ret.name, sizeof(ret.name)))
+ return 0;
+ settingname = dupcat(name, "IsBold", NULL);
+ ret.isbold = read_setting_i(handle, settingname, -1);
+ sfree(settingname);
+ if (ret.isbold == -1) return 0;
+ settingname = dupcat(name, "CharSet", NULL);
+ ret.charset = read_setting_i(handle, settingname, -1);
+ sfree(settingname);
+ if (ret.charset == -1) return 0;
+ settingname = dupcat(name, "Height", NULL);
+ ret.height = read_setting_i(handle, settingname, -42);
+ sfree(settingname);
+ if (ret.height == -42) return 0;
+ *result = ret;
+ return 1;
}
int read_setting_filename(void *handle, const char *name, Filename *result)
{
return !!read_setting_s(handle, name, result->path, sizeof(result->path));
}
-void write_setting_fontspec(void *handle, const char *name, FontSpec result)
+void write_setting_fontspec(void *handle, const char *name, FontSpec font)
{
- write_setting_s(handle, name, result.name);
+ char *settingname;
+
+ write_setting_s(handle, name, font.name);
+ settingname = dupcat(name, "IsBold", NULL);
+ write_setting_i(handle, settingname, font.isbold);
+ sfree(settingname);
+ settingname = dupcat(name, "CharSet", NULL);
+ write_setting_i(handle, settingname, font.charset);
+ sfree(settingname);
+ settingname = dupcat(name, "Height", NULL);
+ write_setting_i(handle, settingname, font.height);
+ sfree(settingname);
}
void write_setting_filename(void *handle, const char *name, Filename result)
{