Can we use extcmd for this?

>
>
>    if (disk->dev->id == GRUB_DISK_DEVICE_DISKFILTER_ID)
>      {
> +      char opt[] = "--quiet";
> +      char *args[2];
> +
>        cmd = grub_command_find ("cryptocheck");
>        if (cmd == NULL) /* No diskfilter module loaded for some reason. */
>          return true;
> @@ -77,7 +80,9 @@ is_unencrypted_disk (grub_disk_t disk)
>          return true;
>
>        grub_snprintf (disk_str, disk_str_len, "(%s)", disk->name);
> -      res = cmd->func (cmd, 1, &disk_str);
> +      args[0] = opt;
> +      args[1] = disk_str;
> +      res = cmd->func (cmd, 2, args);
>        grub_free (disk_str);
>        return (res != GRUB_ERR_NONE) ? true : false; /* GRUB_ERR_NONE for
> encrypted. */
>      }
> diff --git a/grub-core/disk/diskfilter.c b/grub-core/disk/diskfilter.c
> index 9eda22e3f..3a26de60c 100644
> --- a/grub-core/disk/diskfilter.c
> +++ b/grub-core/disk/diskfilter.c
> @@ -1414,6 +1414,19 @@ grub_cmd_cryptocheck (grub_command_t cmd
> __attribute__ ((unused)),
>    int check_pvs_res;
>    int namelen;
>    int pvs_cnt;
> +  int opt_quiet = 0;
> +
> +  if (argc == 2)
>
This needs extcmd for both consistency and better documentation.

> +    {
> +      if (grub_strcmp (args[0], "--quiet") == 0)
> +       {
> +         opt_quiet = 1;
> +         argc--;
> +         args++;
> +       }
> +      else
> +       return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("unrecognized option:
> %s"), args[0]);
> +    }
>
>    if (argc != 1)
>      return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("disk name expected"));
> @@ -1436,11 +1449,11 @@ grub_cmd_cryptocheck (grub_command_t cmd
> __attribute__ ((unused)),
>
>    check_pvs_res = grub_diskfilter_check_pvs_encrypted (disk, &pvs_cnt);
>    grub_disk_close (disk);
> -
> -  grub_printf("%s is %sencrypted (%d pv%s examined)\n", &args[0][1],
>
Please make this properly translatable. Use full sentences, ngettext and
avoid string arithmetic.

> -              (check_pvs_res == GRUB_ERR_NONE) ? "" : "un",
> -              pvs_cnt,
> -              (pvs_cnt > 1) ? "s" : "");
> +  if (!opt_quiet)
> +    grub_printf ("%s is %sencrypted (%d pv%s examined)\n", &args[0][1],
> +                (check_pvs_res == GRUB_ERR_NONE) ? "" : "un",
> +                pvs_cnt,
> +                (pvs_cnt > 1) ? "s" : "");
>

>
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to