Done major changes to libisofs, including multisession and reading support

This commit is contained in:
Mario Danic
2007-08-27 22:51:48 +00:00
parent a4e0041128
commit df04ee014e
19 changed files with 573 additions and 117 deletions

View File

@ -92,6 +92,12 @@ int main(int argc, char **argv)
usage();
return 1;
}
if (!iso_init()) {
err(1, "Can't init libisofs");
}
iso_msgs_set_severities("NEVER", "ALL", "");
fd = fopen(argv[optind+1], "w");
if (!fd) {
err(1, "error opening output file");
@ -133,7 +139,7 @@ int main(int argc, char **argv)
opts.level = level;
opts.flags = flags;
opts.relaxed_constraints = 0;//constraints;
opts.input_charset = "UTF-8";
opts.input_charset = NULL;//"UTF-8";
opts.ouput_charset = "UTF-8";
src = iso_source_new_ecma119(volset, &opts);
@ -143,5 +149,6 @@ int main(int argc, char **argv)
}
fclose(fd);
iso_finish();
return 0;
}

View File

@ -98,6 +98,11 @@ int main(int argc, char **argv)
return 1;
}
if (!iso_init()) {
err(1, "Can't init libisofs");
}
iso_msgs_set_severities("NEVER", "ALL", "");
rsrc = data_source_from_file(argv[optind]);
if (rsrc == NULL) {
printf ("Can't open device\n");
@ -111,6 +116,11 @@ int main(int argc, char **argv)
ropts.block = 0;
ropts.norock = 0;
ropts.nojoliet = 0;
ropts.preferjoliet = 0;
ropts.mode = 0555;
ropts.uid = 0;
ropts.gid = 0;
volset = iso_volset_read(rsrc, &ropts);
if (volset == NULL) {
@ -141,5 +151,7 @@ int main(int argc, char **argv)
}
fclose(fd);
iso_finish();
return 0;
}

View File

@ -101,6 +101,11 @@ int main(int argc, char **argv)
return 1;
}
if (!iso_init()) {
err(1, "Can't init libisofs");
}
iso_msgs_set_severities("NEVER", "ALL", "");
rsrc = data_source_from_file(argv[optind+2]);
if (rsrc == NULL) {
printf ("Can't open device\n");
@ -114,6 +119,11 @@ int main(int argc, char **argv)
ropts.block = atoi(argv[optind]);
ropts.norock = 0;
ropts.nojoliet = 0;
ropts.preferjoliet = 0;
ropts.mode = 0555;
ropts.uid = 0;
ropts.gid = 0;
volset = iso_volset_read(rsrc, &ropts);
if (volset == NULL) {
@ -143,5 +153,7 @@ int main(int argc, char **argv)
}
fclose(fd);
iso_finish();
return 0;
}

View File

@ -81,6 +81,11 @@ int main(int argc, char **argv)
return 1;
}
if (!iso_init()) {
err(1, "Can't init libisofs");
}
iso_msgs_set_severities("NEVER", "ALL", "");
src = data_source_from_file(argv[1]);
if (src == NULL) {
printf ("Can't open image\n");
@ -89,6 +94,12 @@ int main(int argc, char **argv)
opts.block = 0;
opts.norock = 0;
opts.nojoliet = 0;
opts.preferjoliet = 1;
opts.mode = 0555;
opts.uid = 0;
opts.gid = 0;
volset = iso_volset_read(src, &opts);
if (volset == NULL) {
@ -110,6 +121,11 @@ int main(int argc, char **argv)
printf("Abstract: %s\n", iso_volume_get_abstract_file_id(volume));
printf("Biblio: %s\n", iso_volume_get_biblio_file_id(volume));
if (opts.hasRR)
printf("Rock Ridge Extensions are available.\n");
if (opts.hasJoliet)
printf("Joliet Extensions are available.\n");
printf("\nDIRECTORY TREE\n");
printf("==============\n");
@ -120,5 +136,7 @@ int main(int argc, char **argv)
data_source_free(src);
iso_volset_free(volset);
iso_finish();
return 0;
}