Improve messages shown on some errors (fixes ticket #137).
This commit is contained in:
parent
2de74d04a7
commit
1ccc532808
@ -162,9 +162,12 @@ int create_file(Ecma119Image *img, IsoFile *iso, Ecma119Node **node)
|
|||||||
|
|
||||||
size = iso_stream_get_size(iso->stream);
|
size = iso_stream_get_size(iso->stream);
|
||||||
if (size > (off_t)0xffffffff) {
|
if (size > (off_t)0xffffffff) {
|
||||||
return iso_msg_submit(img->image->id, ISO_FILE_TOO_BIG, 0,
|
char *ipath = iso_tree_get_node_path(ISO_NODE(iso));
|
||||||
|
ret = iso_msg_submit(img->image->id, ISO_FILE_TOO_BIG, 0,
|
||||||
"File \"%s\" can't be added to image because "
|
"File \"%s\" can't be added to image because "
|
||||||
"is greater than 4GB", iso->node.name);
|
"is greater than 4GB", ipath);
|
||||||
|
free(ipath);
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = iso_file_src_create(img, iso, &src);
|
ret = iso_file_src_create(img, iso, &src);
|
||||||
@ -296,15 +299,21 @@ int create_tree(Ecma119Image *image, IsoNode *iso, Ecma119Node **tree,
|
|||||||
max_path = pathlen + 1 + (iso_name ? strlen(iso_name) : 0);
|
max_path = pathlen + 1 + (iso_name ? strlen(iso_name) : 0);
|
||||||
if (!image->rockridge) {
|
if (!image->rockridge) {
|
||||||
if ((iso->type == LIBISO_DIR && depth > 8) && !image->allow_deep_paths) {
|
if ((iso->type == LIBISO_DIR && depth > 8) && !image->allow_deep_paths) {
|
||||||
free(iso_name);
|
char *ipath = iso_tree_get_node_path(iso);
|
||||||
return iso_msg_submit(image->image->id, ISO_FILE_IMGPATH_WRONG, 0,
|
return iso_msg_submit(image->image->id, ISO_FILE_IMGPATH_WRONG, 0,
|
||||||
"File \"%s\" can't be added, because directory depth "
|
"File \"%s\" can't be added, because directory depth "
|
||||||
"is greater than 8.", iso->name);
|
"is greater than 8.", ipath);
|
||||||
} else if (max_path > 255 && !image->allow_longer_paths) {
|
|
||||||
free(iso_name);
|
free(iso_name);
|
||||||
return iso_msg_submit(image->image->id, ISO_FILE_IMGPATH_WRONG, 0,
|
free(ipath);
|
||||||
|
return ret;
|
||||||
|
} else if (max_path > 255 && !image->allow_longer_paths) {
|
||||||
|
char *ipath = iso_tree_get_node_path(iso);
|
||||||
|
ret = iso_msg_submit(image->image->id, ISO_FILE_IMGPATH_WRONG, 0,
|
||||||
"File \"%s\" can't be added, because path length "
|
"File \"%s\" can't be added, because path length "
|
||||||
"is greater than 255 characters", iso->name);
|
"is greater than 255 characters", ipath);
|
||||||
|
free(iso_name);
|
||||||
|
free(ipath);
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -317,19 +326,23 @@ int create_tree(Ecma119Image *image, IsoNode *iso, Ecma119Node **tree,
|
|||||||
ret = create_symlink(image, (IsoSymlink*)iso, &node);
|
ret = create_symlink(image, (IsoSymlink*)iso, &node);
|
||||||
} else {
|
} else {
|
||||||
/* symlinks are only supported when RR is enabled */
|
/* symlinks are only supported when RR is enabled */
|
||||||
|
char *ipath = iso_tree_get_node_path(iso);
|
||||||
ret = iso_msg_submit(image->image->id, ISO_FILE_IGNORED, 0,
|
ret = iso_msg_submit(image->image->id, ISO_FILE_IGNORED, 0,
|
||||||
"File \"%s\" ignored. Symlinks need RockRidge extensions.",
|
"File \"%s\" ignored. Symlinks need RockRidge extensions.",
|
||||||
iso->name);
|
ipath);
|
||||||
|
free(ipath);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case LIBISO_SPECIAL:
|
case LIBISO_SPECIAL:
|
||||||
if (image->rockridge) {
|
if (image->rockridge) {
|
||||||
ret = create_special(image, (IsoSpecial*)iso, &node);
|
ret = create_special(image, (IsoSpecial*)iso, &node);
|
||||||
} else {
|
} else {
|
||||||
/* symlinks are only supported when RR is enabled */
|
/* special files are only supported when RR is enabled */
|
||||||
|
char *ipath = iso_tree_get_node_path(iso);
|
||||||
ret = iso_msg_submit(image->image->id, ISO_FILE_IGNORED, 0,
|
ret = iso_msg_submit(image->image->id, ISO_FILE_IGNORED, 0,
|
||||||
"File \"%s\" ignored. Special files need RockRidge extensions.",
|
"File \"%s\" ignored. Special files need RockRidge extensions.",
|
||||||
iso->name);
|
ipath);
|
||||||
|
free(ipath);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case LIBISO_BOOT:
|
case LIBISO_BOOT:
|
||||||
@ -338,8 +351,7 @@ int create_tree(Ecma119Image *image, IsoNode *iso, Ecma119Node **tree,
|
|||||||
} else {
|
} else {
|
||||||
/* log and ignore */
|
/* log and ignore */
|
||||||
ret = iso_msg_submit(image->image->id, ISO_FILE_IGNORED, 0,
|
ret = iso_msg_submit(image->image->id, ISO_FILE_IGNORED, 0,
|
||||||
"El-Torito catalog found on a image without El-Torito.",
|
"El-Torito catalog found on a image without El-Torito.");
|
||||||
iso->name);
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case LIBISO_DIR:
|
case LIBISO_DIR:
|
||||||
|
@ -118,11 +118,13 @@ int create_node(Ecma119Image *t, IsoNode *iso, Iso1999Node **node)
|
|||||||
|
|
||||||
size = iso_stream_get_size(file->stream);
|
size = iso_stream_get_size(file->stream);
|
||||||
if (size > (off_t)0xffffffff) {
|
if (size > (off_t)0xffffffff) {
|
||||||
free(n);
|
char *ipath = iso_tree_get_node_path(iso);
|
||||||
return iso_msg_submit(t->image->id, ISO_FILE_TOO_BIG, 0,
|
ret = iso_msg_submit(t->image->id, ISO_FILE_TOO_BIG, 0,
|
||||||
"File \"%s\" can't be added to image because is "
|
"File \"%s\" can't be added to image because is "
|
||||||
"greater than 4GB", iso->name);
|
"greater than 4GB", ipath);
|
||||||
return 0;
|
free(n);
|
||||||
|
free(ipath);
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = iso_file_src_create(t, file, &src);
|
ret = iso_file_src_create(t, file, &src);
|
||||||
@ -185,10 +187,13 @@ int create_tree(Ecma119Image *t, IsoNode *iso, Iso1999Node **tree, int pathlen)
|
|||||||
|
|
||||||
max_path = pathlen + 1 + (iso_name ? strlen(iso_name): 0);
|
max_path = pathlen + 1 + (iso_name ? strlen(iso_name): 0);
|
||||||
if (!t->allow_longer_paths && max_path > 255) {
|
if (!t->allow_longer_paths && max_path > 255) {
|
||||||
free(iso_name);
|
char *ipath = iso_tree_get_node_path(iso);
|
||||||
return iso_msg_submit(t->image->id, ISO_FILE_IMGPATH_WRONG, 0,
|
ret = iso_msg_submit(t->image->id, ISO_FILE_IMGPATH_WRONG, 0,
|
||||||
"File \"%s\" can't be added to ISO 9660:1999 tree, "
|
"File \"%s\" can't be added to ISO 9660:1999 tree, "
|
||||||
"because its path length is larger than 255", iso->name);
|
"because its path length is larger than 255", ipath);
|
||||||
|
free(iso_name);
|
||||||
|
free(ipath);
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (iso->type) {
|
switch (iso->type) {
|
||||||
@ -230,16 +235,19 @@ int create_tree(Ecma119Image *t, IsoNode *iso, Iso1999Node **tree, int pathlen)
|
|||||||
} else {
|
} else {
|
||||||
/* log and ignore */
|
/* log and ignore */
|
||||||
ret = iso_msg_submit(t->image->id, ISO_FILE_IGNORED, 0,
|
ret = iso_msg_submit(t->image->id, ISO_FILE_IGNORED, 0,
|
||||||
"El-Torito catalog found on a image without El-Torito.",
|
"El-Torito catalog found on a image without El-Torito.");
|
||||||
iso->name);
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case LIBISO_SYMLINK:
|
case LIBISO_SYMLINK:
|
||||||
case LIBISO_SPECIAL:
|
case LIBISO_SPECIAL:
|
||||||
|
{
|
||||||
|
char *ipath = iso_tree_get_node_path(iso);
|
||||||
ret = iso_msg_submit(t->image->id, ISO_FILE_IGNORED, 0,
|
ret = iso_msg_submit(t->image->id, ISO_FILE_IGNORED, 0,
|
||||||
"Can't add %s to ISO 9660:1999 tree. This kind of files "
|
"Can't add %s to ISO 9660:1999 tree. This kind of files "
|
||||||
"can only be added to a Rock Ridget tree. Skipping.",
|
"can only be added to a Rock Ridget tree. Skipping.",
|
||||||
iso->name);
|
ipath);
|
||||||
|
free(ipath);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
/* should never happen */
|
/* should never happen */
|
||||||
|
@ -112,10 +112,13 @@ int create_node(Ecma119Image *t, IsoNode *iso, JolietNode **node)
|
|||||||
|
|
||||||
size = iso_stream_get_size(file->stream);
|
size = iso_stream_get_size(file->stream);
|
||||||
if (size > (off_t)0xffffffff) {
|
if (size > (off_t)0xffffffff) {
|
||||||
|
char *ipath = iso_tree_get_node_path(iso);
|
||||||
free(joliet);
|
free(joliet);
|
||||||
return iso_msg_submit(t->image->id, ISO_FILE_TOO_BIG, 0,
|
ret = iso_msg_submit(t->image->id, ISO_FILE_TOO_BIG, 0,
|
||||||
"File \"%s\" can't be added to image because is "
|
"File \"%s\" can't be added to image because is "
|
||||||
"greater than 4GB", iso->name);
|
"greater than 4GB", ipath);
|
||||||
|
free(ipath);
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = iso_file_src_create(t, file, &src);
|
ret = iso_file_src_create(t, file, &src);
|
||||||
@ -177,14 +180,17 @@ int create_tree(Ecma119Image *t, IsoNode *iso, JolietNode **tree, int pathlen)
|
|||||||
}
|
}
|
||||||
max_path = pathlen + 1 + (jname ? ucslen(jname) * 2 : 0);
|
max_path = pathlen + 1 + (jname ? ucslen(jname) * 2 : 0);
|
||||||
if (!t->joliet_longer_paths && max_path > 240) {
|
if (!t->joliet_longer_paths && max_path > 240) {
|
||||||
free(jname);
|
char *ipath = iso_tree_get_node_path(iso);
|
||||||
/*
|
/*
|
||||||
* Wow!! Joliet is even more restrictive than plain ISO-9660,
|
* Wow!! Joliet is even more restrictive than plain ISO-9660,
|
||||||
* that allows up to 255 bytes!!
|
* that allows up to 255 bytes!!
|
||||||
*/
|
*/
|
||||||
return iso_msg_submit(t->image->id, ISO_FILE_IMGPATH_WRONG, 0,
|
ret = iso_msg_submit(t->image->id, ISO_FILE_IMGPATH_WRONG, 0,
|
||||||
"File \"%s\" can't be added to Joliet tree, because "
|
"File \"%s\" can't be added to Joliet tree, because "
|
||||||
"its path length is larger than 240", iso->name);
|
"its path length is larger than 240", ipath);
|
||||||
|
free(jname);
|
||||||
|
free(ipath);
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (iso->type) {
|
switch (iso->type) {
|
||||||
@ -226,15 +232,19 @@ int create_tree(Ecma119Image *t, IsoNode *iso, JolietNode **tree, int pathlen)
|
|||||||
} else {
|
} else {
|
||||||
/* log and ignore */
|
/* log and ignore */
|
||||||
ret = iso_msg_submit(t->image->id, ISO_FILE_IGNORED, 0,
|
ret = iso_msg_submit(t->image->id, ISO_FILE_IGNORED, 0,
|
||||||
"El-Torito catalog found on a image without El-Torito.",
|
"El-Torito catalog found on a image without El-Torito.");
|
||||||
iso->name);
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case LIBISO_SYMLINK:
|
case LIBISO_SYMLINK:
|
||||||
case LIBISO_SPECIAL:
|
case LIBISO_SPECIAL:
|
||||||
|
{
|
||||||
|
char *ipath = iso_tree_get_node_path(iso);
|
||||||
ret = iso_msg_submit(t->image->id, ISO_FILE_IGNORED, 0,
|
ret = iso_msg_submit(t->image->id, ISO_FILE_IGNORED, 0,
|
||||||
"Can't add %s to Joliet tree. This kind of files can only"
|
"Can't add %s to Joliet tree. %s can only be added to a "
|
||||||
" be added to a Rock Ridget tree. Skipping.", iso->name);
|
"Rock Ridget tree.", ipath, (iso->type == LIBISO_SYMLINK ?
|
||||||
|
"Symlinks" : "Special files"));
|
||||||
|
free(ipath);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
/* should never happen */
|
/* should never happen */
|
||||||
|
Loading…
Reference in New Issue
Block a user