commit - fd691e588450a63fb7f3cde6b11a36eeb06a4369
commit + 99fe4026773799cfe7cf9929005a8a44fe2dca30
blob - df4f57f1e4c07435d969629841ff24a2bac13589
blob + bfe716e2534422cfd54bc88659797c8e652bc61f
--- defaults.c
+++ defaults.c
config_setvars(const char *var, char *val)
{
if (!strcmp(var, "download-path")) {
+ const char *prfx = "", *v = val, *sufx = "";
+
+ if (has_prefix(val, "~/") &&
+ v++ &&
+ (prfx = getenv("HOME")) == NULL)
+ return 0;
+
+ if (!has_suffix(val, "/"))
+ sufx = "/";
+
free(download_path);
- download_path = val;
+ if (asprintf(&download_path, "%s%s%s", prfx, v, sufx) == -1) {
+ download_path = NULL;
+ return 0;
+ }
+
+ free(val);
+ return 1;
} else if (!strcmp(var, "new-tab-url")) {
free(new_tab_url);
new_tab_url = val;