On Fri, Jun 01, 2018 at 06:56:13PM -0400, Andrew Gregory wrote:
> Sort of.  The current --root option is a confusing mess that nobody
> actually understands, so it will go away at some point.  The
> underlying libalpm rootdir setting isn't going anywhere though, and,
> in the future, will be configured with a new --rootdir option.

Well looking at the code it actually isn't as complicated as I thought it
would be.

How about something like this:

> case OP_OVERWRITE_FILES:
>       {
>               char *i, *root = config->rootdir, *save = NULL;
>               for(i = strtok_r(optarg, ",", &save); i; i = strtok_r(NULL, 
> ",", &save)) {
>                       /* strip rootdir if applicable */
>                       if (root && !memcmp(i, root, strlen(root)))
>                               i += strlen(root);
>                       /* strip remaining leading "/" before adding to option 
> list */
>                       i += strspn(i, "/");
>                       config->overwrite_files = 
> alpm_list_add(config->overwrite_files, strdup(i));
>               }
>       }

which would strip the rootdir and then the leading "/". Although I am not
100% certain config->rootdir would be NULL if no argument is passed; could
you confirm that part?

-- 
Cheers,
Joey Pabalinas

Attachment: signature.asc
Description: PGP signature

Reply via email to