+static int move_widget(const char *root, const struct wgt_desc *desc, int force)
+{
+ char newdir[PATH_MAX];
+ int rc;
+
+ rc = snprintf(newdir, sizeof newdir, "%s/%s/%s", root, desc->id, desc->version);
+ if (rc >= sizeof newdir) {
+ syslog(LOG_ERR, "path to long: %s/%s/%s", root, desc->id, desc->version);
+ errno = EINVAL;
+ return -1;
+ }
+
+ return move_workdir(newdir, 1, force);