New -hardlinks mode "lsl_count" / "no_lsl_count"

This commit is contained in:
Thomas Schmitt 2013-05-06 16:17:42 +00:00
parent 507c3b61ee
commit 1ef9b3578e
6 changed files with 12 additions and 4 deletions

View File

@ -132,7 +132,7 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag)
m->add_plainly= 0;
m->split_size= 0;
strcpy(m->list_delimiter, "--");
m->ino_behavior= 7;
m->ino_behavior= 1 | 2 | 4 | 32; /* off:no_lsl_count */
m->iso_level= 3;
m->iso_level_is_default= 1;
m->do_joliet= 0;

View File

@ -1463,6 +1463,10 @@ int Xorriso_option_hardlinks(struct XorrisO *xorriso, char *mode, int flag)
xorriso->ino_behavior&= ~16;
} else if(strcmp(what, "cheap_sorted_extract") == 0) {
xorriso->ino_behavior|= 16;
} else if(strcmp(what, "lsl_count") == 0) {
xorriso->ino_behavior&= ~32;
} else if(strcmp(what, "no_lsl_count") == 0) {
xorriso->ino_behavior|= 32;
} else {
sprintf(xorriso->info_text, "-hardlinks: unknown mode '%s' in '%s'",
what, mode);

View File

@ -374,7 +374,7 @@ no_memory:;
}
}
if((flag & 1) && !(xorriso->ino_behavior & 1)) {
if((flag & 1) && !(xorriso->ino_behavior & 32)) {
ret= Xorriso_make_hln_array(xorriso, 0); /* for stbuf.st_nlink */
if(ret < 0)
return(ret);

View File

@ -3217,7 +3217,9 @@ int Xorriso_status(struct XorrisO *xorriso, char *filter, FILE *fp, int flag)
break; case 8: form= "without_update";
break; default: form= "off";
}
sprintf(line,"-hardlinks %s:%s\n", form,
sprintf(line,"-hardlinks %s:%s:%s\n", form,
xorriso->ino_behavior & 32 ?
"no_lsl_count" : "lsl_count",
xorriso->ino_behavior & 16 ?
"cheap_sorted_extract" : "normal_extract");
if(!(is_default && no_defaults))

View File

@ -135,6 +135,8 @@ struct XorrisO { /* the global context of xorriso */
Do not try to detect hardlink splits and joinings.
bit4= with extract:
Do not create or use hln arrays if sort_lba_on
bit5= with command -lsl
Do not create hln array for hard link count
*/
int iso_level;

View File

@ -1 +1 @@
#define Xorriso_timestamP "2013.05.03.135424"
#define Xorriso_timestamP "2013.05.06.161651"