Changeset 2612
- Timestamp:
- 16/02/2010 22:12:18 (2 years ago)
- Location:
- box/trunk/lib/common
- Files:
-
- 1 edited
- 1 copied
-
FileModificationTime.cpp (copied) (copied from box/trunk/lib/common/FileModificationTime.h) (4 diffs)
-
FileModificationTime.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
box/trunk/lib/common/FileModificationTime.cpp
r2460 r2612 2 2 // 3 3 // File 4 // Name: FileModificationTime. h4 // Name: FileModificationTime.cpp 5 5 // Purpose: Function for getting file modification time. 6 // Created: 20 03/08/286 // Created: 2010/02/15 7 7 // 8 8 // -------------------------------------------------------------------------- 9 9 10 #ifndef FILEMODIFICATIONTIME__H 11 #define FILEMODIFICATIONTIME__H 10 #include "Box.h" 12 11 13 12 #include <sys/stat.h> 14 13 15 14 #include "BoxTime.h" 15 #include "FileModificationTime.h" 16 16 17 inline box_time_t FileModificationTime(EMU_STRUCT_STAT &st) 17 #include "MemLeakFindOn.h" 18 19 box_time_t FileModificationTime(EMU_STRUCT_STAT &st) 18 20 { 19 21 #ifndef HAVE_STRUCT_STAT_ST_MTIMESPEC … … 27 29 } 28 30 29 inlinebox_time_t FileAttrModificationTime(EMU_STRUCT_STAT &st)31 box_time_t FileAttrModificationTime(EMU_STRUCT_STAT &st) 30 32 { 31 33 box_time_t statusmodified = … … 46 48 } 47 49 48 inlinebox_time_t FileModificationTimeMaxModAndAttr(EMU_STRUCT_STAT &st)50 box_time_t FileModificationTimeMaxModAndAttr(EMU_STRUCT_STAT &st) 49 51 { 50 52 #ifndef HAVE_STRUCT_STAT_ST_MTIMESPEC … … 61 63 } 62 64 63 #endif // FILEMODIFICATIONTIME__H64 -
box/trunk/lib/common/FileModificationTime.h
r2460 r2612 15 15 #include "BoxTime.h" 16 16 17 inline box_time_t FileModificationTime(EMU_STRUCT_STAT &st) 18 { 19 #ifndef HAVE_STRUCT_STAT_ST_MTIMESPEC 20 box_time_t datamodified = ((int64_t)st.st_mtime) * (MICRO_SEC_IN_SEC_LL); 21 #else 22 box_time_t datamodified = (((int64_t)st.st_mtimespec.tv_nsec) / NANO_SEC_IN_USEC_LL) 23 + (((int64_t)st.st_mtimespec.tv_sec) * (MICRO_SEC_IN_SEC_LL)); 24 #endif 25 26 return datamodified; 27 } 28 29 inline box_time_t FileAttrModificationTime(EMU_STRUCT_STAT &st) 30 { 31 box_time_t statusmodified = 32 #ifdef HAVE_STRUCT_STAT_ST_MTIMESPEC 33 (((int64_t)st.st_ctimespec.tv_nsec) / (NANO_SEC_IN_USEC_LL)) + 34 (((int64_t)st.st_ctimespec.tv_sec) * (MICRO_SEC_IN_SEC_LL)); 35 #elif defined HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC 36 (((int64_t)st.st_ctim.tv_nsec) / (NANO_SEC_IN_USEC_LL)) + 37 (((int64_t)st.st_ctim.tv_sec) * (MICRO_SEC_IN_SEC_LL)); 38 #elif defined HAVE_STRUCT_STAT_ST_ATIMENSEC 39 (((int64_t)st.st_ctimensec) / (NANO_SEC_IN_USEC_LL)) + 40 (((int64_t)st.st_ctime) * (MICRO_SEC_IN_SEC_LL)); 41 #else // no nanoseconds anywhere 42 (((int64_t)st.st_ctime) * (MICRO_SEC_IN_SEC_LL)); 43 #endif 44 45 return statusmodified; 46 } 47 48 inline box_time_t FileModificationTimeMaxModAndAttr(EMU_STRUCT_STAT &st) 49 { 50 #ifndef HAVE_STRUCT_STAT_ST_MTIMESPEC 51 box_time_t datamodified = ((int64_t)st.st_mtime) * (MICRO_SEC_IN_SEC_LL); 52 box_time_t statusmodified = ((int64_t)st.st_ctime) * (MICRO_SEC_IN_SEC_LL); 53 #else 54 box_time_t datamodified = (((int64_t)st.st_mtimespec.tv_nsec) / NANO_SEC_IN_USEC_LL) 55 + (((int64_t)st.st_mtimespec.tv_sec) * (MICRO_SEC_IN_SEC_LL)); 56 box_time_t statusmodified = (((int64_t)st.st_ctimespec.tv_nsec) / NANO_SEC_IN_USEC_LL) 57 + (((int64_t)st.st_ctimespec.tv_sec) * (MICRO_SEC_IN_SEC_LL)); 58 #endif 59 60 return (datamodified > statusmodified)?datamodified:statusmodified; 61 } 17 box_time_t FileModificationTime(EMU_STRUCT_STAT &st); 18 box_time_t FileAttrModificationTime(EMU_STRUCT_STAT &st); 19 box_time_t FileModificationTimeMaxModAndAttr(EMU_STRUCT_STAT &st); 62 20 63 21 #endif // FILEMODIFICATIONTIME__H
Note: See TracChangeset
for help on using the changeset viewer.
