t == (time_t)-1;
}
+
+/****************************************************************************
+check if it's a null NTTIME
+****************************************************************************/
+BOOL null_nttime(NTTIME t)
+{
+ return t == 0 || t == (NTTIME)-1;
+}
+
/*******************************************************************
create a 16 bit dos packed date
********************************************************************/
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) {
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) {
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;
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;