diff --git a/usr.sbin/makefs/cd9660/iso9660_rrip.c b/usr.sbin/makefs/cd9660/iso9660_rrip.c --- a/usr.sbin/makefs/cd9660/iso9660_rrip.c +++ b/usr.sbin/makefs/cd9660/iso9660_rrip.c @@ -740,25 +740,31 @@ int cd9660node_rrip_tf(struct ISO_SUSP_ATTRIBUTES *p, fsnode *_node) { + struct stat *st; + p->attr.rr_entry.TF.flags[0] = TF_MODIFY | TF_ACCESS | TF_ATTRIBUTES; p->attr.rr_entry.TF.h.length[0] = 5; p->attr.rr_entry.TF.h.version[0] = 1; + if (stampst.st_ino != 0) + st = &stampst; + else + st = &_node->inode->st; + /* * Need to add creation time, backup time, * expiration time, and effective time. */ - cd9660_time_915(p->attr.rr_entry.TF.timestamp, - _node->inode->st.st_mtime); + st->st_mtime); p->attr.rr_entry.TF.h.length[0] += 7; cd9660_time_915(p->attr.rr_entry.TF.timestamp + 7, - _node->inode->st.st_atime); + st->st_atime); p->attr.rr_entry.TF.h.length[0] += 7; cd9660_time_915(p->attr.rr_entry.TF.timestamp + 14, - _node->inode->st.st_ctime); + st->st_ctime); p->attr.rr_entry.TF.h.length[0] += 7; return 1; }