New command -file_name_limit, -as mkisofs -file_name_limit

This commit is contained in:
2015-09-17 12:12:41 +00:00
parent 44d09c30c0
commit 0c2eed9f2e
23 changed files with 582 additions and 202 deletions

View File

@ -25,6 +25,7 @@
#include "lib_mgt.h"
#include "iso_tree.h"
#include "iso_img.h"
/*
@ -32,7 +33,6 @@
#include "xorriso_private.h"
#include "xorrisoburn.h"
#include "iso_img.h"
#include "iso_manip.h"
#include "sort_cmp.h"
@ -183,9 +183,13 @@ int Xorriso_rename_suffix(struct XorrisO *xorriso, IsoNode *node, char *suffix,
{
int ret, lo= 0, ls= 0, strip_suffix;
char *old_name= NULL, *show_name;
IsoImage *volume;
strip_suffix= !!(flag & 2);
ret= Xorriso_get_volume(xorriso, &volume, 0);
if(ret <= 0)
goto ex;
old_name= strdup((char *) iso_node_get_name(node));
show_name= old_name;
if(show_path != NULL)
@ -205,7 +209,7 @@ int Xorriso_rename_suffix(struct XorrisO *xorriso, IsoNode *node, char *suffix,
goto cannot_remove_suffix;
strcpy(new_name, old_name);
new_name[lo - ls]= 0;
ret = iso_node_set_name(node, new_name);
ret = iso_image_set_node_name(volume, node, new_name, 1);
if (ret < 0) {
Xorriso_process_msg_queues(xorriso,0);
if (!(flag & 1))
@ -235,7 +239,7 @@ cannot_append_suffix:;
ret= 2 * (flag & 1); goto ex;
}
sprintf(new_name, "%s%s", old_name, suffix);
ret = iso_node_set_name(node, new_name);
ret = iso_image_set_node_name(volume, node, new_name, 1);
if (ret < 0) {
Xorriso_process_msg_queues(xorriso,0);
if (!(flag & 1))
@ -270,6 +274,7 @@ int Xorriso_set_filter(struct XorrisO *xorriso, void *in_node,
IsoExternalFilterCommand *cmd = NULL;
char *old_name= NULL, *new_name= NULL, *suffix= "";
IsoStream *stream;
IsoImage *volume;
Xorriso_alloc_meM(new_name, char, SfileadrL);
new_name[0]= 0;
@ -409,7 +414,10 @@ int Xorriso_set_filter(struct XorrisO *xorriso, void *in_node,
}
}
if(filter_ret != 1 && new_name[0] && old_name != NULL) {
ret = iso_node_set_name(node, old_name);
ret= Xorriso_get_volume(xorriso, &volume, 0);
if(ret<=0)
goto ex;
ret = iso_image_set_node_name(volume, node, old_name, 1);
if (ret < 0) {
Xorriso_process_msg_queues(xorriso,0);
if (!(flag & 1))