+ strcpy (dirname, base);
+ i = strlen(dirname);
+ dirname[i++] = '/';
+ }
+ while (*ad)
+ {
+ if (*ad == ':' && strchr ("+-0123456789", ad[1]))
+ break;
+ if (i < FILENAME_MAX)
+ dirname[i++] = *ad;
+ ad++;
+ }
+ dirname[i] = '\0';
+ if (*ad++ != ':')
+ {
+ logf (LOG_WARN, "Missing colon after path: %s", ad0);
+ return -1;
+ }
+ if (i == 0)
+ {
+ logf (LOG_WARN, "Empty path: %s", ad0);
+ return -1;
+ }
+ while (*ad == ' ' || *ad == '\t')
+ ad++;
+ if (*ad == '-')
+ {
+ fact = -1;
+ ad++;
+ }
+ else if (*ad == '+')
+ ad++;
+ size = 0;
+ if (*ad < '0' || *ad > '9')
+ {
+ logf (LOG_FATAL, "Missing size after path: %s", ad0);
+ return -1;
+ }
+ size = 0;
+ while (*ad >= '0' && *ad <= '9')
+ size = size*10 + (*ad++ - '0');
+ switch (*ad)