Expose Joliet.

release-1.5.4.branch
Vreixo Formoso 15 years ago
parent 5475502dc8
commit 5d81305042
  1. 2
      demo/iso.c
  2. 2
      demo/iso_modify.c
  3. 2
      demo/iso_ms.c
  4. 20
      src/ecma119.c
  5. 2
      src/libisofs.h

@ -30,8 +30,10 @@ int main(int argc, char **argv)
Ecma119WriteOpts opts = {
1, /* level */
1, /* rockridge */
1, /* joliet */
0, /* omit_version_numbers */
0, /* allow_deep_paths */
0, /* joliet_longer_paths */
0, /* sort files */
0, /* replace_dir_mode */
0, /* replace_file_mode */

@ -30,8 +30,10 @@ int main(int argc, char **argv)
Ecma119WriteOpts opts = {
1, /* level */
1, /* rockridge */
0, /* joliet */
0, /* omit_version_numbers */
0, /* allow_deep_paths */
0, /* joliet_longer_paths */
1, /* sort files */
0, /* replace_dir_mode */
0, /* replace_file_mode */

@ -30,8 +30,10 @@ int main(int argc, char **argv)
Ecma119WriteOpts opts = {
1, /* level */
1, /* rockridge */
0, /* joliet */
0, /* omit_version_numbers */
0, /* allow_deep_paths */
0, /* joliet_longer_paths */
1, /* sort files */
0, /* replace_dir_mode */
0, /* replace_file_mode */

@ -9,6 +9,7 @@
#include "libisofs.h"
#include "ecma119.h"
#include "joliet.h"
#include "ecma119_tree.h"
#include "error.h"
#include "filesrc.h"
@ -825,11 +826,11 @@ int ecma119_image_new(IsoImage *src, Ecma119WriteOpts *opts, Ecma119Image **img)
target->iso_level = opts->level;
target->rockridge = opts->rockridge;
target->joliet = 0; //TODO opts->joliet;
target->joliet = opts->joliet;
target->ino = 0;
target->omit_version_numbers = opts->omit_version_numbers;
target->allow_deep_paths = opts->allow_deep_paths;
target->joliet_longer_paths = 0; //TODO
target->joliet_longer_paths = opts->joliet_longer_paths;
target->sort_files = opts->sort_files;
target->replace_uid = opts->replace_uid ? 1 : 0;
@ -878,6 +879,11 @@ int ecma119_image_new(IsoImage *src, Ecma119WriteOpts *opts, Ecma119Image **img)
/* the number of writers is dependent of the extensions */
nwriters = 1 + 1 + 1; /* ECMA-119 + padding + files */
if (target->joliet) {
nwriters++;
}
target->writers = malloc(nwriters * sizeof(void*));
if (target->writers == NULL) {
iso_image_unref(src);
@ -890,12 +896,18 @@ int ecma119_image_new(IsoImage *src, Ecma119WriteOpts *opts, Ecma119Image **img)
if (ret < 0) {
goto target_cleanup;
}
voldesc_size = target->curblock - target->ms_block - 16;
/* create writer for Joliet structure */
ret = joliet_writer_create(target);
if (ret < 0) {
goto target_cleanup;
}
/* Volume Descriptor Set Terminator */
target->curblock++;
voldesc_size = target->curblock - target->ms_block - 16;
/*
* Create the writer for possible padding to ensure that in case of image
* growing we can safety overwrite the first 64 KiB of image.

@ -65,10 +65,12 @@ typedef struct
/** Which extensions to support. */
unsigned int rockridge :1;
unsigned int joliet :1;
/* relaxed constraints */
unsigned int omit_version_numbers :1;
unsigned int allow_deep_paths :1;
unsigned int joliet_longer_paths :1;
//int relaxed_constraints; /**< see ecma119_relaxed_constraints_flag */
//unsigned int copy_eltorito:1;

Loading…
Cancel
Save