summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHartmut Holzgraefe <hholzgra@php.net>2003-05-20 13:09:11 +0000
committerHartmut Holzgraefe <hholzgra@php.net>2003-05-20 13:09:11 +0000
commitb5bef8f7b3aad2c24c52b2c4cf9f8bb8a26e5ec0 (patch)
tree4f0fd90d9cc0ed46c7a95451336752c6d006bec1
parent92d5589a94e0be982e6c105e38c8c81f972ae690 (diff)
downloadphp-git-b5bef8f7b3aad2c24c52b2c4cf9f8bb8a26e5ec0.tar.gz
always return timestamps as 'atime', 'mtime' and 'ctime'
no matter what names the underlying platform uses for them
-rw-r--r--main/streams/userspace.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/main/streams/userspace.c b/main/streams/userspace.c
index fadd9f34f5..6645704ff3 100644
--- a/main/streams/userspace.c
+++ b/main/streams/userspace.c
@@ -637,12 +637,14 @@ static int statbuf_from_array(zval *array, php_stream_statbuf *ssb TSRMLS_DC)
{
zval *elem;
-#define STAT_PROP_ENTRY(name) \
+#define STAT_PROP_ENTRY_EX(name, name2) \
if (SUCCESS == zend_hash_find(Z_ARRVAL_P(array), #name, sizeof(#name), (void**)&elem)) { \
convert_to_long(elem); \
- ssb->sb.st_##name = Z_LVAL_P(elem); \
+ ssb->sb.st_##name2 = Z_LVAL_P(elem); \
}
+#define STAT_PROP_ENTRY(name) STAT_PROP_ENTRY_EX(name,name)
+
STAT_PROP_ENTRY(dev);
STAT_PROP_ENTRY(ino);
STAT_PROP_ENTRY(mode);
@@ -654,9 +656,9 @@ static int statbuf_from_array(zval *array, php_stream_statbuf *ssb TSRMLS_DC)
#endif
STAT_PROP_ENTRY(size);
#if defined(NETWARE) && defined(CLIB_STAT_PATCH)
- STAT_PROP_ENTRY(atime.tv_sec);
- STAT_PROP_ENTRY(mtime.tv_sec);
- STAT_PROP_ENTRY(ctime.tv_sec);
+ STAT_PROP_ENTRY_EX(atime, atime.tv_sec);
+ STAT_PROP_ENTRY_EX(mtime, mtime.tv_sec);
+ STAT_PROP_ENTRY_EX(ctime, ctime.tv_sec);
#else
STAT_PROP_ENTRY(atime);
STAT_PROP_ENTRY(mtime);
@@ -670,6 +672,7 @@ static int statbuf_from_array(zval *array, php_stream_statbuf *ssb TSRMLS_DC)
#endif
#undef STAT_PROP_ENTRY
+#undef STAT_PROP_ENTRY_EX
return SUCCESS;
}