On 05/29/18 at 02:28pm, Allan McRae wrote:
> The arguments for the --overwrite option requried the user to strip the
> leading "/" from the path. It is more intuative to provide the whole
> path and have pacman strip the leading "/" before passing to the
> backend.
> 
> Signed-off-by: Allan McRae <[email protected]>
> ---
>  src/pacman/pacman.c | 11 ++++++++++-
>  1 file changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c
> index fe54793e..d90a9f6c 100644
> --- a/src/pacman/pacman.c
> +++ b/src/pacman/pacman.c
> @@ -723,7 +723,16 @@ static int parsearg_upgrade(int opt)
>                       config->flags |= ALPM_TRANS_FLAG_FORCE;
>                       break;
>               case OP_OVERWRITE_FILES:
> -                     parsearg_util_addlist(&(config->overwrite_files));
> +                     {
> +                             char *i, *save = NULL;
> +                             for(i = strtok_r(optarg, ",", &save); i; i = 
> strtok_r(NULL, ",", &save)) {
> +                                     /* strip leading "/" before adding to 
> option list */
> +                                     while(i[0] == '/') {
> +                                             i = i + 1;
> +                                     }
> +                                     config->overwrite_files = 
> alpm_list_add(config->overwrite_files, strdup(i));
> +                             }
> +                     }
>                       break;
>               case OP_ASDEPS:
>                       config->flags |= ALPM_TRANS_FLAG_ALLDEPS;
> -- 
> 2.17.0

If we're going to allow absolute paths, should we not be removing the
full root, not just '/'?

Reply via email to