Took into respect possible truncate mode change by AAIP variable isofs.nt
This commit is contained in:
parent
f09b3c1e96
commit
9c907b1531
@ -223,6 +223,7 @@ int Xorriso_aquire_drive(struct XorrisO *xorriso, char *adr, char *show_adr,
|
||||
{
|
||||
int ret, hret, not_writeable= 0, has_what, aquire_flag, load_lba, ext;
|
||||
int lba, track, session, params_flag, adr_mode, read_ret, start_lba;
|
||||
int truncate_mode;
|
||||
uint32_t size, offst;
|
||||
struct burn_drive_info *dinfo= NULL, *out_dinfo= NULL, *in_dinfo= NULL;
|
||||
struct burn_drive *drive= NULL, *out_drive= NULL, *in_drive= NULL;
|
||||
@ -587,6 +588,11 @@ int Xorriso_aquire_drive(struct XorrisO *xorriso, char *adr, char *show_adr,
|
||||
xorriso->in_sector_map= NULL;
|
||||
Xorriso_set_image_severities(xorriso, 0);
|
||||
|
||||
/* Might have changed due to isofs.nt */
|
||||
iso_image_get_truncate_mode(volset, &truncate_mode,
|
||||
&(xorriso->file_name_limit));
|
||||
Xorriso_process_msg_queues(xorriso,0);
|
||||
|
||||
Xorriso_update_volid(xorriso, 0);
|
||||
strncpy(xorriso->application_id,
|
||||
un0(iso_image_get_application_id(volset)), 128);
|
||||
|
@ -4262,6 +4262,8 @@ ex:
|
||||
}
|
||||
|
||||
|
||||
/* @param flag bit0= allow to increase limit for loaded image
|
||||
*/
|
||||
int Xorriso_set_file_name_limit(struct XorrisO *xorriso, int value, int flag)
|
||||
{
|
||||
int ret;
|
||||
@ -4271,10 +4273,19 @@ int Xorriso_set_file_name_limit(struct XorrisO *xorriso, int value, int flag)
|
||||
if(ret < 0)
|
||||
return(ret);
|
||||
if (volume != NULL) {
|
||||
Xorriso_msgs_submit(xorriso, 0,
|
||||
"-file_name_limit cannot be changed while an ISO images is present",
|
||||
if(flag & 1) {
|
||||
|
||||
/* >>> check whether there are non-refreshable truncated names */;
|
||||
|
||||
/* >>> refresh truncation of names */;
|
||||
|
||||
iso_image_set_truncate_mode(volume, 1, value);
|
||||
} else {
|
||||
Xorriso_msgs_submit(xorriso, 0,
|
||||
"-file_name_limit may not be changed because a drive is acquired",
|
||||
0, "SORRY", 0);
|
||||
return(0);
|
||||
return(0);
|
||||
}
|
||||
}
|
||||
xorriso->file_name_limit= value;
|
||||
return(1);
|
||||
|
@ -652,17 +652,19 @@ int Xorriso_option_extract_cut(struct XorrisO *xorriso, char *iso_rr_path,
|
||||
int Xorriso_option_file_name_limit(struct XorrisO *xorriso, char *value,
|
||||
int flag)
|
||||
{
|
||||
int ret;
|
||||
int ret, sub_flag= 0;
|
||||
double num;
|
||||
|
||||
num= Scanf_io_size(value, 0);
|
||||
if(value[0] == '+')
|
||||
sub_flag|= 1;
|
||||
num= Scanf_io_size(value + (sub_flag & 1), 0);
|
||||
if(num < 64 || num > 255) {
|
||||
sprintf(xorriso->info_text,
|
||||
"-file_name_limit: Value '%s' out of range [64..255]", value);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0);
|
||||
return(0);
|
||||
}
|
||||
ret= Xorriso_set_file_name_limit(xorriso, (int) num, 0);
|
||||
ret= Xorriso_set_file_name_limit(xorriso, (int) num, sub_flag);
|
||||
return(ret > 0);
|
||||
}
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
.\" First parameter, NAME, should be all caps
|
||||
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
|
||||
.\" other parameters are allowed: see man(7), man(1)
|
||||
.TH XORRISO 1 "Version 1.4.1, Sep 22, 2015"
|
||||
.TH XORRISO 1 "Version 1.4.1, Sep 25, 2015"
|
||||
.\" Please adjust this date whenever revising the manpage.
|
||||
.\"
|
||||
.\" Some roff macros, for reference:
|
||||
@ -984,7 +984,7 @@ The speed advantage appears only if the loaded session was produced with
|
||||
Note that \-disk_dev_ino "off" is totally in effect only if \-hardlinks is "off",
|
||||
too.
|
||||
.TP
|
||||
\fB\-file_name_limit\fR number
|
||||
\fB\-file_name_limit\fR [+]number
|
||||
Set the maximum permissible length for file names in the range of 64 to 255.
|
||||
Path components which are longer than the given number will get truncated
|
||||
and have their last 33 bytes overwritten by a colon ':' and the
|
||||
@ -994,20 +994,30 @@ leading bytes replaced by '_'.
|
||||
.br
|
||||
iso_rr_paths with the long components will still be able to access the
|
||||
file paths with truncated components. To avoid confusion by having both
|
||||
truncated and untrancated names in the same directory, it is not possible
|
||||
to change this setting after a drive was acquired. All file names get
|
||||
truncated and untruncated names in the same directory, it is highly deprecated
|
||||
to change this setting after a drive was acquired. All file names must get
|
||||
truncated by the same length.
|
||||
.br
|
||||
Normally this command will produce a SORRY event if it is executed while a
|
||||
drive is aquired. One may override this ban by prepending the character "+"
|
||||
to the argument of \-file_name_limit.
|
||||
.br
|
||||
If writing of xattr is enabled, then the length will be stored in "isofs.nt"
|
||||
of the root directory.
|
||||
If reading of xattr is enabled and "isofs.nt" is found, then the found length
|
||||
will get into effect if it is smaller than the current setting
|
||||
of \-file_name_limit.
|
||||
.br
|
||||
File name patterns will only work if they match the truncated name.
|
||||
This might change in future.
|
||||
.br
|
||||
Files with truncated names get deleted and re\-added unconditionally
|
||||
during \-update and \-update_r. This might change in future.
|
||||
.br
|
||||
Linux kernels up to at least 4.1 misrepresent names of length 254 and 255.
|
||||
If you expect such names in or under disk_paths and plan to mount the ISO
|
||||
by such Linux kernels, consider to set \-file_name_limit 253.
|
||||
Else just avoid names longer than 253 characters.
|
||||
.br
|
||||
Files with truncated names get deleted and re\-added unconditionally
|
||||
during \-update and \-update_r. This might change in future.
|
||||
.TP
|
||||
\fB\-rom_toc_scan\fR "on"|"force"|"off"[:"emul_off"][:"emul_wide"]
|
||||
Read\-only drives do not tell the actual media type but show any media as
|
||||
|
@ -886,7 +886,7 @@ activate them only after image loading.
|
||||
with -disk_dev_ino "on" too.
|
||||
Note that -disk_dev_ino "off" is totally in effect only if
|
||||
-hardlinks is "off", too.
|
||||
-file_name_limit number
|
||||
-file_name_limit [+]number
|
||||
Set the maximum permissible length for file names in the range of
|
||||
64 to 255. Path components which are longer than the given number
|
||||
will get truncated and have their last 33 bytes overwritten by a
|
||||
@ -895,18 +895,25 @@ activate them only after image loading.
|
||||
characters will get their leading bytes replaced by '_'.
|
||||
iso_rr_paths with the long components will still be able to access
|
||||
the file paths with truncated components. To avoid confusion by
|
||||
having both truncated and untrancated names in the same directory,
|
||||
it is not possible to change this setting after a drive was
|
||||
acquired. All file names get truncated by the same length.
|
||||
having both truncated and untruncated names in the same directory,
|
||||
it is highly deprecated to change this setting after a drive was
|
||||
acquired. All file names must get truncated by the same length.
|
||||
Normally this command will produce a SORRY event if it is executed
|
||||
while a drive is aquired. One may override this ban by prepending
|
||||
the character "+" to the argument of -file_name_limit.
|
||||
If writing of xattr is enabled, then the length will be stored in
|
||||
"isofs.nt" of the root directory. If reading of xattr is enabled
|
||||
and "isofs.nt" is found, then the found length will get into effect
|
||||
if it is smaller than the current setting of -file_name_limit.
|
||||
File name patterns will only work if they match the truncated name.
|
||||
This might change in future.
|
||||
Files with truncated names get deleted and re-added unconditionally
|
||||
during -update and -update_r. This might change in future.
|
||||
Linux kernels up to at least 4.1 misrepresent names of length 254
|
||||
and 255. If you expect such names in or under disk_paths and plan
|
||||
to mount the ISO by such Linux kernels, consider to set
|
||||
-file_name_limit 253. Else just avoid names longer than 253
|
||||
characters.
|
||||
Files with truncated names get deleted and re-added unconditionally
|
||||
during -update and -update_r. This might change in future.
|
||||
-rom_toc_scan "on"|"force"|"off"[:"emul_off"][:"emul_wide"]
|
||||
Read-only drives do not tell the actual media type but show any
|
||||
media as ROM (e.g. as DVD-ROM). The session history of MMC
|
||||
@ -5026,11 +5033,11 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
||||
* -assert_volid rejects undesired images: Loading. (line 111)
|
||||
* -auto_charset learns character set from image: Loading. (line 123)
|
||||
* -backslash_codes enables backslash conversion: Scripting. (line 71)
|
||||
* -ban_stdio_write demands real drive: Loading. (line 305)
|
||||
* -ban_stdio_write demands real drive: Loading. (line 312)
|
||||
* -biblio_file sets biblio file name: SetWrite. (line 234)
|
||||
* -blank erases media: Writing. (line 57)
|
||||
* -boot_image controls bootability: Bootable. (line 65)
|
||||
* -calm_drive reduces drive activity: Loading. (line 295)
|
||||
* -calm_drive reduces drive activity: Loading. (line 302)
|
||||
* -cd sets working directory in ISO: Navigate. (line 7)
|
||||
* -cdx sets working directory on disk: Navigate. (line 15)
|
||||
* -changes_pending overrides change status: Writing. (line 12)
|
||||
@ -5064,7 +5071,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
||||
* -cp_rx copies file trees to disk: Restore. (line 103)
|
||||
* -cp_rx copies file trees to disk <1>: Restore. (line 111)
|
||||
* -cut_out inserts piece of data file: Insert. (line 118)
|
||||
* -data_cache_size adjusts read cache size: Loading. (line 321)
|
||||
* -data_cache_size adjusts read cache size: Loading. (line 328)
|
||||
* -dev acquires one drive for input and output: AqDrive. (line 12)
|
||||
* -devices gets list of drives: Inquiry. (line 7)
|
||||
* -device_links gets list of drives: Inquiry. (line 17)
|
||||
@ -5080,7 +5087,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
||||
* -dusx show directory size on disk: Navigate. (line 85)
|
||||
* -dux show directory size on disk: Navigate. (line 81)
|
||||
* -dvd_obs set write block size: SetWrite. (line 314)
|
||||
* -early_stdio_test classifies stdio drives: Loading. (line 309)
|
||||
* -early_stdio_test classifies stdio drives: Loading. (line 316)
|
||||
* -ecma119_map names w/o Rock Ridge, Joliet: Loading. (line 214)
|
||||
* -eject ejects drive tray: Writing. (line 50)
|
||||
* -end writes pending session and ends program: Scripting. (line 151)
|
||||
@ -5197,7 +5204,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
||||
(line 51)
|
||||
* -rollback discards pending changes: Writing. (line 9)
|
||||
* -rollback_end ends program without writing: Scripting. (line 154)
|
||||
* -rom_toc_scan searches for sessions: Loading. (line 267)
|
||||
* -rom_toc_scan searches for sessions: Loading. (line 274)
|
||||
* -rr_reloc_dir sets name of relocation directory: SetWrite. (line 144)
|
||||
* -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 179)
|
||||
* -scsi_log reports SCSI commands: Scripting. (line 143)
|
||||
@ -5304,8 +5311,8 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* Directory, delete, -rmdir: Manip. (line 29)
|
||||
* disk_path, _definition: Insert. (line 6)
|
||||
* Drive, accessability, -drive_class: Loading. (line 73)
|
||||
* Drive, classify stdio, -early_stdio_test: Loading. (line 309)
|
||||
* Drive, demand real MMC, -ban_stdio_write: Loading. (line 305)
|
||||
* Drive, classify stdio, -early_stdio_test: Loading. (line 316)
|
||||
* Drive, demand real MMC, -ban_stdio_write: Loading. (line 312)
|
||||
* Drive, eject tray, -eject: Writing. (line 50)
|
||||
* Drive, for input and output, -dev: AqDrive. (line 12)
|
||||
* Drive, for input, -indev: AqDrive. (line 23)
|
||||
@ -5313,7 +5320,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* Drive, get drive list, -devices: Inquiry. (line 7)
|
||||
* Drive, get drive list, -device_links: Inquiry. (line 17)
|
||||
* Drive, list supported media, -list_profiles: Writing. (line 177)
|
||||
* Drive, reduce activity, -calm_drive: Loading. (line 295)
|
||||
* Drive, reduce activity, -calm_drive: Loading. (line 302)
|
||||
* Drive, report SCSI commands, -scsi_log: Scripting. (line 143)
|
||||
* Drive, write and eject, -commit_eject: Writing. (line 53)
|
||||
* Drive, _definition: Drives. (line 6)
|
||||
@ -5352,7 +5359,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* HFS+ serial number: Bootable. (line 339)
|
||||
* hidden, set in ISO image, -hide: Manip. (line 171)
|
||||
* HP-PA boot sector, production: Bootable. (line 314)
|
||||
* Image reading, cache size, -data_cache_size: Loading. (line 321)
|
||||
* Image reading, cache size, -data_cache_size: Loading. (line 328)
|
||||
* Image, demand volume ID, -assert_volid: Loading. (line 111)
|
||||
* Image, discard pending changes, -rollback: Writing. (line 9)
|
||||
* Image, filesystem to load, -read_fs: Loading. (line 102)
|
||||
@ -5510,7 +5517,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* SUN SPARC boot images, activation: Bootable. (line 377)
|
||||
* Symbolic link, create, -lns: Insert. (line 160)
|
||||
* System area, _definition: Bootable. (line 184)
|
||||
* Table-of-content, search sessions, -rom_toc_scan: Loading. (line 267)
|
||||
* Table-of-content, search sessions, -rom_toc_scan: Loading. (line 274)
|
||||
* Table-of-content, show, -toc: Inquiry. (line 27)
|
||||
* Timestamps, set in ISO image, -alter_date: Manip. (line 136)
|
||||
* Timestamps, set in ISO image, -alter_date_r: Manip. (line 168)
|
||||
@ -5568,47 +5575,47 @@ Node: Commands24952
|
||||
Node: ArgSort26629
|
||||
Node: AqDrive28123
|
||||
Node: Loading31178
|
||||
Node: Insert50599
|
||||
Node: SetInsert60824
|
||||
Node: Manip69675
|
||||
Node: CmdFind79458
|
||||
Node: Filter97553
|
||||
Node: Writing102175
|
||||
Node: SetWrite112330
|
||||
Node: Bootable135274
|
||||
Node: Jigdo157802
|
||||
Node: Charset162061
|
||||
Node: Exception165388
|
||||
Node: DialogCtl171517
|
||||
Node: Inquiry174119
|
||||
Node: Navigate182569
|
||||
Node: Verify190864
|
||||
Node: Restore200741
|
||||
Node: Emulation209354
|
||||
Node: Scripting219764
|
||||
Node: Frontend227546
|
||||
Node: Examples237181
|
||||
Node: ExDevices238359
|
||||
Node: ExCreate239020
|
||||
Node: ExDialog240320
|
||||
Node: ExGrowing241591
|
||||
Node: ExModifying242400
|
||||
Node: ExBootable242910
|
||||
Node: ExCharset243465
|
||||
Node: ExPseudo244361
|
||||
Node: ExCdrecord245288
|
||||
Node: ExMkisofs245608
|
||||
Node: ExGrowisofs246965
|
||||
Node: ExException248119
|
||||
Node: ExTime248577
|
||||
Node: ExIncBackup249035
|
||||
Node: ExRestore253061
|
||||
Node: ExRecovery254007
|
||||
Node: Files254579
|
||||
Node: Seealso255913
|
||||
Node: Bugreport256628
|
||||
Node: Legal257219
|
||||
Node: CommandIdx258231
|
||||
Node: ConceptIdx275273
|
||||
Node: Insert51099
|
||||
Node: SetInsert61324
|
||||
Node: Manip70175
|
||||
Node: CmdFind79958
|
||||
Node: Filter98053
|
||||
Node: Writing102675
|
||||
Node: SetWrite112830
|
||||
Node: Bootable135774
|
||||
Node: Jigdo158302
|
||||
Node: Charset162561
|
||||
Node: Exception165888
|
||||
Node: DialogCtl172017
|
||||
Node: Inquiry174619
|
||||
Node: Navigate183069
|
||||
Node: Verify191364
|
||||
Node: Restore201241
|
||||
Node: Emulation209854
|
||||
Node: Scripting220264
|
||||
Node: Frontend228046
|
||||
Node: Examples237681
|
||||
Node: ExDevices238859
|
||||
Node: ExCreate239520
|
||||
Node: ExDialog240820
|
||||
Node: ExGrowing242091
|
||||
Node: ExModifying242900
|
||||
Node: ExBootable243410
|
||||
Node: ExCharset243965
|
||||
Node: ExPseudo244861
|
||||
Node: ExCdrecord245788
|
||||
Node: ExMkisofs246108
|
||||
Node: ExGrowisofs247465
|
||||
Node: ExException248619
|
||||
Node: ExTime249077
|
||||
Node: ExIncBackup249535
|
||||
Node: ExRestore253561
|
||||
Node: ExRecovery254507
|
||||
Node: Files255079
|
||||
Node: Seealso256413
|
||||
Node: Bugreport257128
|
||||
Node: Legal257719
|
||||
Node: CommandIdx258731
|
||||
Node: ConceptIdx275773
|
||||
|
||||
End Tag Table
|
||||
|
@ -50,7 +50,7 @@
|
||||
@c man .\" First parameter, NAME, should be all caps
|
||||
@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
|
||||
@c man .\" other parameters are allowed: see man(7), man(1)
|
||||
@c man .TH XORRISO 1 "Version 1.4.1, Sep 22, 2015"
|
||||
@c man .TH XORRISO 1 "Version 1.4.1, Sep 25, 2015"
|
||||
@c man .\" Please adjust this date whenever revising the manpage.
|
||||
@c man .\"
|
||||
@c man .\" Some roff macros, for reference:
|
||||
@ -1233,7 +1233,7 @@ The speed advantage appears only if the loaded session was produced with
|
||||
Note that -disk_dev_ino "off" is totally in effect only if -hardlinks is "off",
|
||||
too.
|
||||
@c man .TP
|
||||
@item -file_name_limit number
|
||||
@item -file_name_limit [+]number
|
||||
@kindex -file_name_limit curbs length of file names
|
||||
@cindex File names, curb length, -file_name_limit
|
||||
Set the maximum permissible length for file names in the range of 64 to 255.
|
||||
@ -1245,20 +1245,30 @@ leading bytes replaced by '_'.
|
||||
@*
|
||||
iso_rr_paths with the long components will still be able to access the
|
||||
file paths with truncated components. To avoid confusion by having both
|
||||
truncated and untrancated names in the same directory, it is not possible
|
||||
to change this setting after a drive was acquired. All file names get
|
||||
truncated and untruncated names in the same directory, it is highly deprecated
|
||||
to change this setting after a drive was acquired. All file names must get
|
||||
truncated by the same length.
|
||||
@*
|
||||
Normally this command will produce a SORRY event if it is executed while a
|
||||
drive is aquired. One may override this ban by prepending the character "+"
|
||||
to the argument of -file_name_limit.
|
||||
@*
|
||||
If writing of xattr is enabled, then the length will be stored in "isofs.nt"
|
||||
of the root directory.
|
||||
If reading of xattr is enabled and "isofs.nt" is found, then the found length
|
||||
will get into effect if it is smaller than the current setting
|
||||
of -file_name_limit.
|
||||
@*
|
||||
File name patterns will only work if they match the truncated name.
|
||||
This might change in future.
|
||||
@*
|
||||
Files with truncated names get deleted and re-added unconditionally
|
||||
during -update and -update_r. This might change in future.
|
||||
@*
|
||||
Linux kernels up to at least 4.1 misrepresent names of length 254 and 255.
|
||||
If you expect such names in or under disk_paths and plan to mount the ISO
|
||||
by such Linux kernels, consider to set -file_name_limit 253.
|
||||
Else just avoid names longer than 253 characters.
|
||||
@*
|
||||
Files with truncated names get deleted and re-added unconditionally
|
||||
during -update and -update_r. This might change in future.
|
||||
@c man .TP
|
||||
@item -rom_toc_scan "on"|"force"|"off"[:"emul_off"][:"emul_wide"]
|
||||
@kindex -rom_toc_scan searches for sessions
|
||||
|
@ -1 +1 @@
|
||||
#define Xorriso_timestamP "2015.09.22.204735"
|
||||
#define Xorriso_timestamP "2015.09.25.171620"
|
||||
|
Loading…
Reference in New Issue
Block a user