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
[email protected]
https://lists.gnu.org/mailman/listinfo/grub-devel