libcdio-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Libcdio-devel] Rock Ridge deep directory support


From: Thomas Schmitt
Subject: Re: [Libcdio-devel] Rock Ridge deep directory support
Date: Sat, 13 Jun 2020 14:16:14 +0200

Hi,

just to show that i began to review the Rock Ridge Deep Directory code,
i wonder why the RR-related code snippet in lib/iso9660/iso9660_fs.c
line 832 is not surrounded by #ifdef HAVE_ROCK and how a freshly calloc'ed
p_stat shall have (p_stat->rr.u_su_fields & ISO_ROCK_SUF_RE) true.

Further i wonder whether the ISO_ROCK_SUF_RE bit can only be set if
_iso9660_is_rock_ridge_enabled(p_image).

Line 819:

  /* Reuse multiextent p_stat if not NULL */
  if (!p_stat) {
    p_stat = calloc(1, stat_len);
    first_extent = true;

>>> how could p_stat->rr.u_su_fields become non-zero ?

  } else {
    first_extent = false;
  }
  if (!p_stat) {
    cdio_warn("Couldn't calloc(1, %d)", stat_len);
    return NULL;
  }
  p_stat->type    = (p_iso9660_dir->file_flags & ISO_DIRECTORY)
    ? _STAT_DIR : _STAT_FILE;

>>> why no: #ifdef HAVE_ROCK ?

Line 832:

  /* Ignore Rock Ridge Deep Directory RE entries */

>>> why no: if (_iso9660_is_rock_ridge_enabled(p_image)) ?

  if (p_stat->rr.u_su_fields & ISO_ROCK_SUF_RE)
    goto fail;

>>> why no: #endif ?


I will continue to read in a few hours.


Have a nice day :)

Thomas




reply via email to

[Prev in Thread] Current Thread [Next in Thread]