if (image == WIMLIB_NO_IMAGE) {
imagex_error(T("\"%"TS"\" is not a valid image in \"%"TS"\"!\n"
" Please specify a 1-based image index or "
- "image name.\n"
- " You may use `%"TS"' to list the images "
- "contained in a WIM."),
- image_name, wim_name, get_cmd_string(CMD_INFO, false));
- return -1;
+ "image name. To list the images\n"
+ " contained in the WIM archive, run\n"
+ "\n"
+ " %"TS" \"%"TS"\"\n"),
+ image_name, wim_name,
+ get_cmd_string(CMD_INFO, false), wim_name);
+ return WIMLIB_ERR_INVALID_IMAGE;
}
return 0;
}
{
if (image == WIMLIB_ALL_IMAGES) {
imagex_error(T("Cannot specify all images for this action!"));
- return -1;
+ return WIMLIB_ERR_INVALID_IMAGE;
}
return 0;
}
size_t num_wchars;
if (num_bytes >= 2 &&
- ((text[0] == 0xff && text[1] == 0xfe) ||
- (text[0] <= 0x7f && text[1] == 0x00)))
+ (((unsigned char)text[0] == 0xff && (unsigned char)text[1] == 0xfe) ||
+ ((unsigned char)text[0] <= 0x7f && (unsigned char)text[1] == 0x00)))
{
/* File begins with 0xfeff, the BOM for UTF-16LE, or it begins
* with something that looks like an ASCII character encoded as
case WIMLIB_UPDATE_OP_DELETE:
imagex_printf(T("Deleted WIM path "
"\""WIMLIB_WIM_PATH_SEPARATOR_STRING "%"TS"\"\n"),
- info->update.command->delete.wim_path);
+ info->update.command->delete_.wim_path);
break;
case WIMLIB_UPDATE_OP_RENAME:
imagex_printf(T("Renamed WIM path "
break;
case WIMLIB_UPDATE_OP_DELETE:
if (!tstrcmp(option, T("--force")))
- cmd->delete.delete_flags |= WIMLIB_DELETE_FLAG_FORCE;
+ cmd->delete_.delete_flags |= WIMLIB_DELETE_FLAG_FORCE;
else if (!tstrcmp(option, T("--recursive")))
- cmd->delete.delete_flags |= WIMLIB_DELETE_FLAG_RECURSIVE;
+ cmd->delete_.delete_flags |= WIMLIB_DELETE_FLAG_RECURSIVE;
else
recognized = false;
break;
cmd->add.wim_target_path = (tchar*)nonoption;
break;
case WIMLIB_UPDATE_OP_DELETE:
- cmd->delete.wim_path = (tchar*)nonoption;
+ cmd->delete_.wim_path = (tchar*)nonoption;
break;
case WIMLIB_UPDATE_OP_RENAME:
if (num_nonoptions == 0)
imagex_apply(int argc, tchar **argv, int cmd)
{
int c;
- int open_flags = WIMLIB_OPEN_FLAG_SPLIT_OK;
+ int open_flags = 0;
int image = WIMLIB_NO_IMAGE;
WIMStruct *wim;
struct wimlib_wim_info info;
unsigned long n;
struct wimlib_wim_info info;
- wimlib_get_wim_info(wim, &info);
+ wimlib_get_wim_info(template_wim, &info);
n = tstrtoul(template_image_name_or_num + 1, &tmp, 10);
if (n >= 1 && n <= info.image_count &&
*tmp == T('\0') &&
}
wimfile = argv[0];
- ret = wimlib_open_wim(wimfile, WIMLIB_OPEN_FLAG_SPLIT_OK, &wim,
- imagex_progress_func);
+ ret = wimlib_open_wim(wimfile, 0, &wim, imagex_progress_func);
if (ret)
goto out;
dest_wimfile = argv[2];
dest_name = (argc >= 4) ? argv[3] : NULL;
dest_desc = (argc >= 5) ? argv[4] : NULL;
- ret = wimlib_open_wim(src_wimfile,
- open_flags | WIMLIB_OPEN_FLAG_SPLIT_OK, &src_wim,
+ ret = wimlib_open_wim(src_wimfile, open_flags, &src_wim,
imagex_progress_func);
if (ret)
goto out_free_refglobs;
ret = -1;
goto out_free_src_wim;
}
- ret = wimlib_open_wim(dest_wimfile, open_flags | WIMLIB_OPEN_FLAG_WRITE_ACCESS,
+ ret = wimlib_open_wim(dest_wimfile,
+ open_flags | WIMLIB_OPEN_FLAG_WRITE_ACCESS,
&dest_wim, imagex_progress_func);
if (ret)
goto out_free_src_wim;
imagex_extract(int argc, tchar **argv, int cmd)
{
int c;
- int open_flags = WIMLIB_OPEN_FLAG_SPLIT_OK;
+ int open_flags = 0;
int image;
WIMStruct *wim;
int ret;
WIMStruct *wim;
int image;
int ret;
- int open_flags = WIMLIB_OPEN_FLAG_SPLIT_OK;
+ int open_flags = 0;
struct wimlib_wim_info info;
for_opt(c, info_options) {
image = wimlib_resolve_image(wim, image_num_or_name);
ret = WIMLIB_ERR_INVALID_IMAGE;
if (image == WIMLIB_NO_IMAGE && tstrcmp(image_num_or_name, T("0"))) {
- imagex_error(T("The image \"%"TS"\" does not exist in \"%"TS"\""),
- image_num_or_name, wimfile);
+ verify_image_exists(image, image_num_or_name, wimfile);
if (boot) {
imagex_error(T("If you would like to set the boot "
"index to 0, specify image \"0\" with "
imagex_join(int argc, tchar **argv, int cmd)
{
int c;
- int swm_open_flags = WIMLIB_OPEN_FLAG_SPLIT_OK;
+ int swm_open_flags = 0;
int wim_write_flags = 0;
const tchar *output_path;
int ret;
{
int c;
int mount_flags = 0;
- int open_flags = WIMLIB_OPEN_FLAG_SPLIT_OK;
+ int open_flags = 0;
const tchar *staging_dir = NULL;
const tchar *wimfile;
const tchar *dir;
cmds[i].add.config = config;
break;
case WIMLIB_UPDATE_OP_DELETE:
- cmds[i].delete.delete_flags |= default_delete_flags;
+ cmds[i].delete_.delete_flags |= default_delete_flags;
break;
default:
break;