From 830e7656322f2d5828de4551c24d3ddb9bf83849 Mon Sep 17 00:00:00 2001 From: Mario Fetka Date: Mon, 25 May 2026 22:22:25 +0200 Subject: [PATCH] =?UTF-8?q?NCP22/25=20Create-Date/Create-Time/Creator-ID?= =?UTF-8?q?=20=C3=BCber=20xattr=20speichern=20buildfix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/connect.c | 50 ++++++++++++++++++++++++++++++-------------------- src/namspace.c | 15 +++++++++------ 2 files changed, 39 insertions(+), 26 deletions(-) diff --git a/src/connect.c b/src/connect.c index f93f3f0..dfa7f35 100644 --- a/src/connect.c +++ b/src/connect.c @@ -1463,10 +1463,11 @@ static int get_file_attrib(NW_FILE_INFO *f, char *unixname, struct stat *stb, uint16 create_date = 0; uint8 meta_flags = 0; mars_nwe_get_file_info(unixname, &create_date, NULL, NULL, &meta_flags); - if (meta_flags & MARS_NWE_FILEINFO_HAS_CREATE_DATE) + if (meta_flags & MARS_NWE_FILEINFO_HAS_CREATE_DATE) { U16_TO_BE16(create_date, f->create_date); - else + } else { un_date_2_nw(stb->st_mtime, f->create_date, 1); + } } un_date_2_nw(stb->st_atime, f->acces_date, 1); un_date_2_nw(stb->st_mtime, f->modify_date, 1); @@ -1497,18 +1498,21 @@ static int get_dir_attrib(NW_DIR_INFO *d, char *unixname, struct stat *stb, uint8 meta_flags = 0; mars_nwe_get_file_info(unixname, &create_date, &create_time, &creator_id, &meta_flags); - if (meta_flags & MARS_NWE_FILEINFO_HAS_CREATE_DATE) + if (meta_flags & MARS_NWE_FILEINFO_HAS_CREATE_DATE) { U16_TO_BE16(create_date, d->create_date); - else + } else { un_date_2_nw(stb->st_mtime, d->create_date, 1); - if (meta_flags & MARS_NWE_FILEINFO_HAS_CREATE_TIME) + } + if (meta_flags & MARS_NWE_FILEINFO_HAS_CREATE_TIME) { U16_TO_BE16(create_time, d->create_time); - else + } else { un_time_2_nw(stb->st_mtime, d->create_time, 1); - if (meta_flags & MARS_NWE_FILEINFO_HAS_CREATOR) + } + if (meta_flags & MARS_NWE_FILEINFO_HAS_CREATOR) { U32_TO_BE32(creator_id, d->owner_id); - else + } else { U32_TO_BE32(get_file_owner(stb), d->owner_id); + } } d->access_right_mask = 0; d->reserved = 0; @@ -2993,18 +2997,21 @@ void get_dos_file_attrib(NW_DOS_FILE_INFO *f, uint8 meta_flags = 0; mars_nwe_get_file_info(unixname, &create_date, &create_time, &creator_id, &meta_flags); - if (meta_flags & MARS_NWE_FILEINFO_HAS_CREATE_DATE) + if (meta_flags & MARS_NWE_FILEINFO_HAS_CREATE_DATE) { U16_TO_16(create_date, f->created.date); - else + } else { un_date_2_nw(stb->st_mtime, f->created.date, 0); - if (meta_flags & MARS_NWE_FILEINFO_HAS_CREATE_TIME) + } + if (meta_flags & MARS_NWE_FILEINFO_HAS_CREATE_TIME) { U16_TO_16(create_time, f->created.time); - else + } else { un_time_2_nw(stb->st_mtime, f->created.time, 0); - if (meta_flags & MARS_NWE_FILEINFO_HAS_CREATOR) + } + if (meta_flags & MARS_NWE_FILEINFO_HAS_CREATOR) { U32_TO_BE32(creator_id, f->created.id); - else + } else { U32_TO_BE32(nw_owner, f->created.id); + } } { @@ -3049,18 +3056,21 @@ void get_dos_dir_attrib(NW_DOS_DIR_INFO *f, uint8 meta_flags = 0; mars_nwe_get_file_info(unixname, &create_date, &create_time, &creator_id, &meta_flags); - if (meta_flags & MARS_NWE_FILEINFO_HAS_CREATE_DATE) + if (meta_flags & MARS_NWE_FILEINFO_HAS_CREATE_DATE) { U16_TO_16(create_date, f->created.date); - else + } else { un_date_2_nw(stb->st_mtime, f->created.date, 0); - if (meta_flags & MARS_NWE_FILEINFO_HAS_CREATE_TIME) + } + if (meta_flags & MARS_NWE_FILEINFO_HAS_CREATE_TIME) { U16_TO_16(create_time, f->created.time); - else + } else { un_time_2_nw(stb->st_mtime, f->created.time, 0); - if (meta_flags & MARS_NWE_FILEINFO_HAS_CREATOR) + } + if (meta_flags & MARS_NWE_FILEINFO_HAS_CREATOR) { U32_TO_BE32(creator_id, f->created.id); - else + } else { U32_TO_BE32(get_file_owner(stb), f->created.id); + } } { uint16 archive_date = 0; diff --git a/src/namspace.c b/src/namspace.c index d5ba180..1595db4 100644 --- a/src/namspace.c +++ b/src/namspace.c @@ -1102,20 +1102,23 @@ static int build_dir_info(DIR_BASE_ENTRY *dbe, uint8 meta_flags = 0; mars_nwe_get_file_info(unixname, &create_date, &create_time, &creator_id, &meta_flags); - if (meta_flags & MARS_NWE_FILEINFO_HAS_CREATE_TIME) + if (meta_flags & MARS_NWE_FILEINFO_HAS_CREATE_TIME) { U16_TO_16(create_time, p); - else + } else { un_time_2_nw(stb->st_mtime, p, 0); + } p +=2; - if (meta_flags & MARS_NWE_FILEINFO_HAS_CREATE_DATE) + if (meta_flags & MARS_NWE_FILEINFO_HAS_CREATE_DATE) { U16_TO_16(create_date, p); - else + } else { un_date_2_nw(stb->st_mtime, p, 0); + } p +=2; - if (meta_flags & MARS_NWE_FILEINFO_HAS_CREATOR) + if (meta_flags & MARS_NWE_FILEINFO_HAS_CREATOR) { U32_TO_BE32(creator_id, p); /* HI-LOW ! */ - else + } else { U32_TO_BE32(owner, p); /* HI-LOW ! */ + } p +=4; } else p+=8;