summaryrefslogtreecommitdiff
path: root/upgrade.c
diff options
context:
space:
mode:
authordefault <nobody@localhost>2022-11-25 17:26:12 +0100
committerdefault <nobody@localhost>2022-11-25 17:26:12 +0100
commit6c6b5a30c4570ac0ace13e95e28a678c3720b899 (patch)
treedc93af34c1877f60b6b762a053c7ed3db385dd47 /upgrade.c
parent87d3ec2accb94c8a2f912a5ed7f8782f45f2151f (diff)
Do hard links to objects in each user's public and private caches.
Diffstat (limited to 'upgrade.c')
-rw-r--r--upgrade.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/upgrade.c b/upgrade.c
index 13f3fa1..786e0f9 100644
--- a/upgrade.c
+++ b/upgrade.c
@@ -106,6 +106,28 @@ int db_upgrade(d_char **error)
nf = 2.3;
}
+ else
+ if (f < 2.4) {
+ xs *users = user_list();
+ char *p, *v;
+
+ p = users;
+ while (xs_list_iter(&p, &v)) {
+ snac snac;
+
+ if (user_open(&snac, v)) {
+ xs *dir = xs_fmt("%s/public", snac.basedir);
+ mkdir(dir, 0755);
+
+ dir = xs_replace_i(dir, "public", "private");
+ mkdir(dir, 0755);
+
+ user_free(&snac);
+ }
+ }
+
+ nf = 2.4;
+ }
if (f < nf) {
f = nf;