From a52a6f1c425335a4154fcd0d8f1c45f6e387ce53 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sat, 5 Mar 2005 22:50:13 +0000 Subject: r5666: winxp will use a NTTIME of -1 to mean "don't change" in setfileinfo basic_info. Add null_nttime() as the equivalent of the existing null_time() call for cheecking for valid NTTIME values (This used to be commit 439ce2efbf7d2ba9b17d6b4bfaf651e781140715) --- source4/ntvfs/posix/pvfs_setfileinfo.c | 16 ++++++++-------- source4/ntvfs/posix/pvfs_xattr.c | 8 ++++---- 2 files changed, 12 insertions(+), 12 deletions(-) (limited to 'source4/ntvfs') diff --git a/source4/ntvfs/posix/pvfs_setfileinfo.c b/source4/ntvfs/posix/pvfs_setfileinfo.c index 9bc51d1ef4..31a60fac18 100644 --- a/source4/ntvfs/posix/pvfs_setfileinfo.c +++ b/source4/ntvfs/posix/pvfs_setfileinfo.c @@ -301,18 +301,18 @@ NTSTATUS pvfs_setfileinfo(struct ntvfs_module_context *ntvfs, case RAW_SFILEINFO_BASIC_INFO: case RAW_SFILEINFO_BASIC_INFORMATION: - if (info->basic_info.in.create_time) { + if (!null_nttime(info->basic_info.in.create_time)) { newstats.dos.create_time = info->basic_info.in.create_time; } - if (info->basic_info.in.access_time) { + if (!null_nttime(info->basic_info.in.access_time)) { newstats.dos.access_time = info->basic_info.in.access_time; } - if (info->basic_info.in.write_time) { + if (!null_nttime(info->basic_info.in.write_time)) { newstats.dos.write_time = info->basic_info.in.write_time; newstats.dos.flags |= XATTR_ATTRIB_FLAG_STICKY_WRITE_TIME; h->sticky_write_time = True; } - if (info->basic_info.in.change_time) { + if (!null_nttime(info->basic_info.in.change_time)) { newstats.dos.change_time = info->basic_info.in.change_time; } if (info->basic_info.in.attrib != 0) { @@ -490,16 +490,16 @@ NTSTATUS pvfs_setpathinfo(struct ntvfs_module_context *ntvfs, case RAW_SFILEINFO_BASIC_INFO: case RAW_SFILEINFO_BASIC_INFORMATION: - if (info->basic_info.in.create_time) { + if (!null_nttime(info->basic_info.in.create_time)) { newstats.dos.create_time = info->basic_info.in.create_time; } - if (info->basic_info.in.access_time) { + if (!null_nttime(info->basic_info.in.access_time)) { newstats.dos.access_time = info->basic_info.in.access_time; } - if (info->basic_info.in.write_time) { + if (!null_nttime(info->basic_info.in.write_time)) { newstats.dos.write_time = info->basic_info.in.write_time; } - if (info->basic_info.in.change_time) { + if (!null_nttime(info->basic_info.in.change_time)) { newstats.dos.change_time = info->basic_info.in.change_time; } if (info->basic_info.in.attrib != 0) { diff --git a/source4/ntvfs/posix/pvfs_xattr.c b/source4/ntvfs/posix/pvfs_xattr.c index c930fcbd68..c2af2e10bd 100644 --- a/source4/ntvfs/posix/pvfs_xattr.c +++ b/source4/ntvfs/posix/pvfs_xattr.c @@ -190,10 +190,10 @@ NTSTATUS pvfs_dosattrib_load(struct pvfs_state *pvfs, struct pvfs_filename *name name->dos.alloc_size = pvfs_round_alloc_size(pvfs, info1->alloc_size); } - if (info1->create_time != 0) { + if (!null_nttime(info1->create_time)) { name->dos.create_time = info1->create_time; } - if (info1->change_time != 0) { + if (!null_nttime(info1->change_time)) { name->dos.change_time = info1->change_time; } name->dos.flags = 0; @@ -207,10 +207,10 @@ NTSTATUS pvfs_dosattrib_load(struct pvfs_state *pvfs, struct pvfs_filename *name name->dos.alloc_size = pvfs_round_alloc_size(pvfs, info2->alloc_size); } - if (info2->create_time != 0) { + if (!null_nttime(info2->create_time)) { name->dos.create_time = info2->create_time; } - if (info2->change_time != 0) { + if (!null_nttime(info2->change_time)) { name->dos.change_time = info2->change_time; } name->dos.flags = info2->flags; -- cgit