static void gpps(void *handle, char *name, char *def, char *val, int len) { if (!read_setting_s(handle, name, val, len)) { strncpy(val, def, len); val[len - 1] = '\0'; } }
static char *gpps_raw(void *handle, const char *name, const char *def) { char *ret = read_setting_s(handle, name); if (!ret) ret = platform_default_s(name); if (!ret) ret = def ? dupstr(def) : NULL; /* permit NULL as final fallback */ return ret; }
static void gpps(void *handle, const char *name, const char *def, char *val, int len) { if (!read_setting_s(handle, name, val, len)) { char *pdef; pdef = platform_default_s(name); if (pdef) { strncpy(val, pdef, len); sfree(pdef); } else { strncpy(val, def, len); } val[len - 1] = '\0'; } }
int read_setting_fontspec(void *handle, const char *name, FontSpec *result) { char *settingname; FontSpec ret; char tmp[256]; if (!read_setting_s(handle, name, tmp, sizeof(tmp))) return 0; c2pstrcpy(ret.name, tmp); settingname = dupcat(name, "Face", NULL); ret.face = read_setting_i(handle, settingname, 0); sfree(settingname); settingname = dupcat(name, "Height", NULL); ret.size = read_setting_i(handle, settingname, 0); sfree(settingname); if (ret.size == 0) return 0; *result = ret; return 1; }