85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
-
+
|
of_time_interval_t st_atime, st_mtime, st_ctime;
# ifdef OF_WINDOWS
# define HAVE_STRUCT_STAT_ST_BIRTHTIME
of_time_interval_t st_birthtime;
DWORD fileAttributes;
# endif
} of_stat_t;
#elif defined(OF_HAVE_OFF64_T)
#elif defined(HAVE_STAT64)
typedef struct stat64 of_stat_t;
#else
typedef struct stat of_stat_t;
#endif
#ifdef OF_WINDOWS
# define S_IFLNK 0x10000
|
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
|
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
|
-
+
-
+
|
buffer->st_atime = buffer->st_mtime = buffer->st_ctime = timeInterval;
# ifdef OF_AMIGAOS4
FreeDosObject(DOS_EXAMINEDATA, ed);
# endif
return 0;
#elif defined(OF_HAVE_OFF64_T)
#elif defined(HAVE_STAT64)
return stat64([path cStringWithEncoding: [OFLocale encoding]], buffer);
#else
return stat([path cStringWithEncoding: [OFLocale encoding]], buffer);
#endif
}
static int
of_lstat(OFString *path, of_stat_t *buffer)
{
#if defined(HAVE_LSTAT) && !defined(OF_WINDOWS) && !defined(OF_AMIGAOS) && \
!defined(OF_NINTENDO_3DS) && !defined(OF_WII)
# ifdef OF_HAVE_OFF64_T
# ifdef HAVE_LSTAT64
return lstat64([path cStringWithEncoding: [OFLocale encoding]], buffer);
# else
return lstat([path cStringWithEncoding: [OFLocale encoding]], buffer);
# endif
#else
return of_stat(path, buffer);
#endif
|