[pacman-dev] [PATCH] pacman: print error when -Fx is given invalid regex

Allan McRae allan at archlinux.org
Tue Nov 26 00:33:53 UTC 2019


On 12/11/19 11:48 am, morganamilo wrote:
> When processing the targets for -Fx, compile all the regex ahead of
> time, printing an error for each that failed to compile. Then, if they all
> compiled successfully, continue with printing files.
> 
> Signed-off-by: morganamilo <morganamilo at gmail.com>
> 
> diff --git a/src/pacman/files.c b/src/pacman/files.c
> index 3b6dc23b..91d891a6 100644
> --- a/src/pacman/files.c
> +++ b/src/pacman/files.c
> @@ -94,17 +94,26 @@ static void print_match(alpm_list_t *match, alpm_db_t *repo, alpm_pkg_t *pkg, in
>  	}
>  }
>  
> +struct filetarget {
> +	char *targ;
> +	int exact_file;
> +	regex_t reg;
> +};
> +
> +static void filetarget_free(struct filetarget *ftarg) {
> +	regfree(&ftarg->reg);
> +	free(ftarg);
> +}
> +


Rest of the patch looks fine.  But first thing I saw here was we are not
freeing char* targ.  But we don't have to because the memory is held
elsewhere.

Add a comment to clarify that an I am happy with the patch.


Also:

.git/rebase-apply/patch:42: trailing whitespace.
				pm_printf(ALPM_LOG_ERROR,
warning: 1 line adds whitespace errors.


You can enable a git hook to stop you committing files with whitespace
issues.


As an aside, now we precompile all regex, I wonder if we should loop
though them withing each package?  e.g. "pacman -F foo bar" in Arch
Luinux gives a result for community/phonegap in two different places in
the output.

A


More information about the pacman-dev mailing list