+static grub_err_t ventoy_cmd_add_replace_file(grub_extcmd_context_t ctxt, int argc, char **args)
+{
+ int i;
+ ventoy_grub_param_file_replace *replace = NULL;
+
+ (void)ctxt;
+ (void)argc;
+ (void)args;
+
+ if (argc >= 2)
+ {
+ replace = &(g_grub_param->file_replace);
+ replace->magic = GRUB_FILE_REPLACE_MAGIC;
+
+ replace->old_name_cnt = 0;
+ for (i = 0; i < 4 && i + 1 < argc; i++)
+ {
+ replace->old_name_cnt++;
+ grub_snprintf(replace->old_file_name[i], sizeof(replace->old_file_name[i]), "%s", args[i + 1]);
+ }
+
+ replace->new_file_virtual_id = (grub_uint32_t)grub_strtoul(args[0], NULL, 10);
+ }
+
+ VENTOY_CMD_RETURN(GRUB_ERR_NONE);
+}
+